如何将日期字符串转换为指定时区中的日期时间对象



我可以使用以下命令将YYYY-MM-DD格式的给定日期字符串转换为datetime对象:

from datetime import datetime
dt = datetime.strptime(date_str, '%Y-%m-%d')

但是,它默认使用当前机器的时区。

是否有办法在转换中指定一个特定的时区(如UTC, PST等),以便获得的datetime对象在该时区

仅使用Python的标准库是不可能的。

要获得充分的灵活性,安装python-dateutilpytz并运行:

date_str = '2015-01-01'
dt = pytz.timezone('Europe/London').localize(dateutil.parser.parse(date_str))

这给你一个欧洲/伦敦时区的日期时间。

如果你只需要解析'%Y-%m-%d'字符串,那么你只需要pytz:

from datetime import datetime
naive_dt = datetime.strptime(date_str, '%Y-%m-%d')
dt = pytz.timezone('Europe/London').localize(naive_dt)

相关内容

  • 没有找到相关文章

最新更新