我可以使用以下内容将YYYY-MM-DD
格式的给定日期字符串转换为datetime
对象:
from datetime import datetime
dt = datetime.strptime(date_str, '%Y-%m-%d')
但是,默认使用当前机器的时区。
是否可以在转换中指定特定时区(例如UTC,PST等),以便获取的datetime
对象位于该时区内。
我试图在Python 3.4.3中这样做。
答案 0 :(得分:3)
仅使用Python的标准库是不可能的。
要获得完全的灵活性,请安装python-dateutil
和pytz
并运行:
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)