我可以使用以下命令将YYYY-MM-DD
格式的给定日期字符串转换为datetime
对象:
from datetime import datetime
dt = datetime.strptime(date_str, '%Y-%m-%d')
但是,它默认使用当前机器的时区。
是否有办法在转换中指定一个特定的时区(如UTC, PST等),以便获得的datetime
对象在该时区
仅使用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)