在24小时标记处将字符串转换为日期/小时:ValueError未转换的数据保持为:4

时间:2016-08-24 09:12:32

标签: python date type-conversion extract strptime

我正在尝试从以下字符串中提取日期和小时:

string = '3/24/2016 24'     # 24 is the hour

使用以下代码:

result = datetime.strptime(string, '%m/%d/%Y %H')

但是我遇到以下错误消息: ValueError:未转换的数据仍然存在:4 铅:strptime不会识别24小时(0 - > 23对1 - > 24)?如果是这样,我应该如何修复它,因为它是一个字符串?

1 个答案:

答案 0 :(得分:2)

我想处理24的转角情况,你可以将日期部分解析为日期,然后替换"小时" mod 24,例如:

d, t = '3/24/2016 24'.partition(' ')[::2]
dt = datetime.strptime(d, '%m/%d/%Y').replace(hour=int(t) % 24)
# datetime.datetime(2016, 3, 24, 0, 0)