【发布时间】:2014-09-27 18:20:45
【问题描述】:
我在将 24 小时制转换为 12 小时制时遇到了严重问题。
def standard_time(t):
t = datetime.strptime(t, "%H:%M")
return t
当输入'24:00' 时,我们得到
ValueError: time data '24:00' does not match format '%H:%M'
我也尝试使用 %I(12 小时)而不是 %H 进行转换,但每当小时数超过 12 时就会出错:
def standard_time(t):
t = datetime.strptime(t, "%I:%M")
return t
有点卡住了……
ValueError: time data '13:30' does not match format '%I:%M'
python 有简单的 24 小时到 12 小时转换器吗?理想情况下 23:00 应该输出 11:00 PM 并且 24:00 不应该抛出错误!
【问题讨论】:
-
为什么 24:00 不应该抛出错误?那是不正确的时间。 23:59 之后是 00:00。
-
每 the docs
%H涵盖00-23。24:00不是有效时间。 -
由于某种原因,我使用的 API 给了我像 00:00 - 24:00 这样的时间集......我只是假设一切都是专业的:D
-
所以只需在您的方法中手动修复 24:00。
-
我想知道在您的情况下“24:00”是什么意思...是第二天的午夜吗?那为什么不 day+1 00:00 呢?你的 API 很奇怪。
标签: python datetime time strptime