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

时间:2020-09-09 23:22:23

标签: python datetime strftime

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

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

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

1 个答案:

答案 0 :(得分:1)

我认为使用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