开发者社区> 问答> 正文

将包含时区的字符串转换为Datetime对象,而无需从字符串中删除时区

如何将包含时区的字符串转换为datetime对象?

from datetime import datetime, timezone
datetime.strptime('Dec 11, 2019 11:54:47 AM PST', '%b %d, %Y %H:%M:%S %p %Z')

以上的回报:

Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    datetime.strptime('Dec 11, 2019 11:54:47 AM PST', '%b %d, %Y %H:%M:%S %p %Z')
  File "C:\Python37\lib\_strptime.py", line 577, in _strptime_datetime
    tt, fraction, gmtoff_fraction = _strptime(data_string, format)
  File "C:\Python37\lib\_strptime.py", line 359, in _strptime
    (data_string, format))
ValueError: time data 'Dec 11, 2019 11:54:47 AM PST' does not match format '%b %d, %Y %H:%M:%S %p %Z'

研究: 根据Python的格式代码文档,%Z表示“时区名称(如果对象是初始的,则为空字符串)”。(空),UTC, EST, CST”。关于“naive”的含义有很多细节,但是我假设字符串的PST部分返回空,并且是不明确的或naive的。 有可能在一行程序中转换这样的字符串而不从字符串中删除PST吗? 只是想知道最好的方法是什么。 问题来源StackOverflow 地址:/questions/59381819/convert-a-string-that-contains-a-timezone-to-a-datetime-object-without-removing

展开
收起
kun坤 2019-12-27 17:24:41 690 0
1 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载