微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决午夜的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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。