亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶 tz 偏移量的日期時間的 strptime 示例

帶 tz 偏移量的日期時間的 strptime 示例

明月笑刀無情 2024-01-04 09:51:01
我有日期時間字符串2020-10-23T11:50:19+00:00。我可以在沒有時區的情況下將其解析為:>>> datetime.strptime('2020-10-23T11:50:19', '%Y-%m-%dT%H:%M:%S') datetime.datetime(2020, 10, 23, 11, 50, 19)00:00但我在用時區版本解析它時遇到問題。正確的方法是什么?>>> datetime.strptime('2020-10-23T11:50:19+00:00', '%Y-%m-%dT%H:%M:%S+???')
查看完整描述

2 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

您正在尋找%z:

>>> datetime.strptime('2020-10-23T11:50:19+00:00', '%Y-%m-%dT%H:%M:%S%z')
datetime.datetime(2020, 10, 23, 11, 50, 19, tzinfo=datetime.timezone.utc)

請注意一些 Python 版本兼容性說明:

版本 3.7 中的更改:%z向方法提供指令時strptime(),UTC 偏移量可以使用冒號作為小時、分鐘和秒之間的分隔符。例如,'+01:00:00'將被解析為一小時的偏移量。此外,提供'Z'與 相同'+00:00'

更強大的方法,它不是strptime,但自 Python 3.7 以來它仍然在 stdlib 中:

>>> datetime.fromisoformat('2020-10-23T11:50:19+00:00')
datetime.datetime(2020, 10, 23, 11, 50, 19, tzinfo=datetime.timezone.utc)

文檔所述,該函數支持以下格式的字符串:

YYYY-MM-DD[*HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[.ffffff]]]]

其中 * 可以匹配任何單個字符(不僅僅是 T)。


查看完整回答
反對 回復 2024-01-04
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

該dateutil.parser函數將解析該時區格式:


from dateutil.parser import parse


dt = parse('2020-10-23T11:50:19+00:00')

print(dt.date())

print(dt.time())

print(dt.tzinfo)

結果:


2020-10-23

11:50:19

tzutc()

如果您需要的話,您可以將單獨的date,time和tzinfo對象組合成 a datetime,如下所示:


dt = datetime.combine(dt.date(), dt.time(), tzinfo=dt.tzinfo)

print(dt)

結果:


2020-10-23 11:50:19+00:00


查看完整回答
反對 回復 2024-01-04
  • 2 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號