栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python datetime strptime()和strftime():如何保留时区信息

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python datetime strptime()和strftime():如何保留时区信息

这里的部分问题是通常用于表示时区的字符串实际上并不是唯一的。“ EST”对北美的人仅表示“ America /
New_York”。这是C时间API的局限性,Python解决方案是……如果有人愿意编写PEP,则可以在将来的任何将来的版本中添加完整的tz功能。

可以 格式化和解析时区作为偏移量,但是会丢失夏令时/夏令时信息(例如,夏天无法区分“ America / Phoenix”和“ America /
Los_Angeles”)。您可以将时区格式设置为3个字母的缩写,但不能从中解析回。

如果您想要一些模糊,模棱两可的东西,但通常是您想要的东西,则需要一个第三方库,例如

dateutil

如果您想要真正明确的内容,只需自己将实际的tz名称附加到本地datetime字符串,然后在另一端将其拆分即可:

d = datetime.datetime.now(pytz.timezone("America/New_York"))dtz_string = d.strftime(fmt) + ' ' + "America/New_York"d_string, tz_string = dtz_string.rsplit(' ', 1)d2 = datetime.datetime.strptime(d_string, fmt)tz2 = pytz.timezone(tz_string)print dtz_string print d2.strftime(fmt) + ' ' + tz_string

或者……在这两者之间的中间位置,您已经在使用该

pytz
库,该库可以解析(根据某些任意但定义明确的歧义消除规则)“
EST”之类的格式。因此,如果您确实愿意,可以将
%Z
in留在格式方面,然后将其拉下并进行解析,
pytz.timezone()
然后再将其余部分传递给
strptime



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/624455.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号