Python 日期时间解析
Python date time parsing
为什么会失败:
datetime.datetime.strptime(
date_string, ' %A %d %B %Y : %I:%M %p')
ValueError("time data ' Tuesday 08 September 2020 : 00:07 AM' does not match format ' %A %d %B %Y : %I:%M %p'")
何时有效:
datetime.datetime.strptime(' Wednesday 02 September 2020 : 2:54 AM', ' %A %d %B %Y : %I:%M %p')
我想这一定与00
小时有关,但具体是什么我不知道。
来自 datetime
文档:
- %H Hour (24-hour clock) as a zero-padded decimal number. 00, 01, …, 23
- %I Hour (12-hour clock) as a zero-padded decimal number. 01, 02, …, 12
因此您需要像 12:07 am
这样的输入才能使时间有效(12 小时制中没有 0 点钟)
>> datetime.datetime.strptime(' Tuesday 01 September 2020 : 12:07 AM', ' %A %d %B %Y : %I:%M %p')
datetime.datetime(2020, 9, 1, 0, 7)
或使用 %H
作为 24 小时制,在这种情况下您可能希望删除 %p
,因为它在这种情况下毫无意义
>> datetime.datetime.strptime(' Tuesday 01 September 2020 : 00:07', ' %A %d %B %Y : %H:%M')
datetime.datetime(2020, 9, 1, 0, 7)
为什么会失败:
datetime.datetime.strptime(
date_string, ' %A %d %B %Y : %I:%M %p')
ValueError("time data ' Tuesday 08 September 2020 : 00:07 AM' does not match format ' %A %d %B %Y : %I:%M %p'")
何时有效:
datetime.datetime.strptime(' Wednesday 02 September 2020 : 2:54 AM', ' %A %d %B %Y : %I:%M %p')
我想这一定与00
小时有关,但具体是什么我不知道。
来自 datetime
文档:
- %H Hour (24-hour clock) as a zero-padded decimal number. 00, 01, …, 23
- %I Hour (12-hour clock) as a zero-padded decimal number. 01, 02, …, 12
因此您需要像 12:07 am
这样的输入才能使时间有效(12 小时制中没有 0 点钟)
>> datetime.datetime.strptime(' Tuesday 01 September 2020 : 12:07 AM', ' %A %d %B %Y : %I:%M %p')
datetime.datetime(2020, 9, 1, 0, 7)
或使用 %H
作为 24 小时制,在这种情况下您可能希望删除 %p
,因为它在这种情况下毫无意义
>> datetime.datetime.strptime(' Tuesday 01 September 2020 : 00:07', ' %A %d %B %Y : %H:%M')
datetime.datetime(2020, 9, 1, 0, 7)