首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将包含BST (英国夏季时间)的时间戳字符串解析为时区感知的日期时间戳?

如何将包含BST (英国夏季时间)的时间戳字符串解析为时区感知的日期时间戳?
EN

Stack Overflow用户
提问于 2021-04-09 11:05:54
回答 1查看 478关注 0票数 0

我有格式为“25-10月-20:00格林尼治时间”和“25-10月-20:12:00英国时间”的时间戳,我希望将它们解析为一个时区感知的日期时间。我尝试使用strptime格式"%d-%b-%y %I:%M:%S %p %Z“

但是,datetime.strptime的%Z参数不承认BST是一个有效的输入,而且我无法找到处理解析夏时制的“正确”方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-09 11:33:00

如果您查看来自dateutil的错误,它会显示如下:

代码语言:javascript
运行
复制
UnknownTimezoneWarning: tzname BST identified but not understood.  
Pass `tzinfos` argument in order to correctly return a timezone-aware
datetime.  In a future version, this will raise an exception.

换句话说,您可以传递一个字典,将时区别名(如"BST")映射到适当的时区信息。也许是这样:

代码语言:javascript
运行
复制
>>> import dateutil.parser
>>> import dateutil.tz
>>> BST = dateutil.tz.gettz('Europe/London')
>>> dateutil.parser.parse('25-Oct-20 12:00:00 AM BST', tzinfos={'BST': BST})
datetime.datetime(2020, 10, 25, 0, 0, tzinfo=tzfile('/usr/share/zoneinfo/Europe/London'))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67019964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档