如何解决日期时间库时区
我正在尝试将以下字符串转换为日期时间格式
work_date="Sun Aug 23 20:16:44 IST 2020"
dt_new=datetime.datetime.strptime(work_date,"%a %b %d %H:%M:%S %Z %Y")
print(dt_new)
但是我一直在获取与数据格式不匹配的时间数据。我尝试用GMT代替IST,它可以工作。还尝试用“亚洲/加尔各答”代替IST,但仍然无法正常工作。 我想知道是否可以通过某种方式以%Z格式注册IST。
解决方法
strptime
仅接受%Z
的某些值:
-
time.tzname
中计算机语言环境的任何值 - 硬编码的值
UTC
和GMT
您可以使用UTC并通过pytz
第三库进行转换:
import datetime
import pytz
work_date = "Sun Aug 23 20:16:44 UTC 2020"
dt_new = datetime.datetime.strptime(work_date,"%a %b %d %H:%M:%S %Z %Y")
dt_new = dt_new.astimezone(pytz.timezone("Asia/Kolkata"))
print(dt_new)
更新:您也可以使用dateutil
模块:
from dateutil.parser import parse
from dateutil.tz import gettz
tzinfos = {"IST": gettz("Asia/Kolkata")}
print(parse("Sun Aug 23 20:16:44 IST 2020",tzinfos=tzinfos))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。