如何在python中处理超过24小时的时间值?

use*_*268 6 python format time date

我正在处理大量具有值和时间(以字符串形式)的数据.

我使用以下代码将字符串时间值转换为datetime值:

time = datetime.datetime.strptime(time, " %H:%M:%S.%f")
Run Code Online (Sandbox Code Playgroud)

唯一的问题是我的一些数据格式为:24:00:00.004.
所以有些数据实际上超过24小时

Python给了我这个错误:ValueError:时间数据'24:00:00:004'与格式'%H:%M:%S.%f'不匹配

关于如何处理这个问题的任何想法

Mar*_*ers 8

%H参数只能解析0-23范围内的值.您必须手动处理这些特定的时间戳:

try:
     time = datetime.datetime.strptime(time, " %H:%M:%S.%f")
except ValueError:
     time = time.replace(' 24', ' 23')
     time = datetime.datetime.strptime(time, " %H:%M:%S.%f")
     time += datetime.timedelta(hours=1)
Run Code Online (Sandbox Code Playgroud)

  • @mgilson:在这种情况下我会使用''23'+ time [2:]`来代替,或许可以结合`time.startswith('24')`. (2认同)