使用 strptime 获取 UTC 偏移量,以小时和分钟分隔

car*_*rla 4 python datetime

我有一个这样的字符串2018-04-03 02:59:59+00:00,我需要用strptime它来将它转换为日期时间。

但是,查看文档%z(UTC 偏移量)指令是+HHMM,但我需要+HH:MM. 我怎样才能做到这一点?

wim*_*wim 7

datetime.strptime由于偏移量中的冒号字符,目前无法使用。因此,忘记strptime并选择以下选项之一:

  • 预处理字符串以从偏移量中删除冒号
  • 使用dateutil.parser代替strptime
  • 升级到 Python 3.7

关于最后一个选项:3.7 中提供了一项新功能,专门添加以解决您所看到的问题。这是一个新的 datetime 方法,它可以正确解析您的字符串:

# Python 3.7.0b1
>>> from datetime import datetime
>>> datetime.fromisoformat('2018-04-03 02:59:59+00:00')
datetime.datetime(2018, 4, 3, 2, 59, 59, tzinfo=datetime.timezone.utc)
Run Code Online (Sandbox Code Playgroud)

此外,%z如果您想坚持使用strptime.