午夜的strftime的格式为“ 24”而不是“ 00”

问题描述

我有一个.csv,其中带有一系列时间戳,格式为HH:MM:SS。烦人的是,小时的格式设置为午夜,表示为24而不是00

通常我会使用:datetime.strptime('24:00:00','%H:%M:%S'),但这会引发ValueError,因为24小时未被识别为有效小时。

除了操纵字符串之外,有没有简便的方法?

解决方法

我认为使用datetime库没有简单的方法。您可以签出datetime.strptime here的源代码;相关的正则表达式位于第188行。最简单的解决方案可能是字符串操作。

timestamp = '24:00:00'

if timestamp[:2] == '24':
    timestamp = '00' + timestamp[2:]

#as a oneliner
timestamp = '00' + timestamp[2:] if timestamp[:2] == '24' else timestamp

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...