python - 如何在 Python 中检测字符串中的时间并将时间转换为不同的时区?

标签 python pandas string date datetime

比方说,有一个字符串 --->

"I eat potato at 5:30 PM"

所以,我想做的是从字符串中捕获时间 5:30 PM,并在它完成捕获时间后 (5:30 PM 并假设时区为“America/New_York”格式),它会将其转换为不同的时区(假设采用“UTC”格式)。

我如何在 Python 中做到这一点?

最佳答案

您可以使用 pytz 模块:

import pytz, datetime
import re

s = "I eat potato at 5:30 PM"
d = re.findall('[\d ]\d:\d\d \w\w', s)[0].strip()

utc_dt = pytz.timezone("America/New_York").localize(datetime.datetime.strptime(d, "%H:%M %p"), is_dst=None).astimezone(pytz.utc)
print(f'{utc_dt.hour}:{utc_dt.minute}')

输出:

10:26

关于python - 如何在 Python 中检测字符串中的时间并将时间转换为不同的时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64707842/

相关文章:

python - 添加两个列表的第 i 个元素

python - 数据追加问题

python - Pandas 数据帧 : Get value pairs from subsets of dataframe

python - 如何诊断两台机器之间 Python 脚本(pandas 聚合)运行时的巨大差异?

php - 从 PHP 中的查询字符串中删除空白变量和重复变量

python - 如何管理查询中的并发?

python - 当新字符串替换旧字符串时如何更改标签的字体大小

python - 迭代特定行中包含字符串的某些列

c# - 将混合字母数字字符串拆分为文本和数字部分的快速方法?

javascript - 正则表达式问题 : Difference between 'seconds?' and 'second(?:s)?'