我正在尝试从以下字符串中提取日期和小时:
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)?如果是这样,我应该如何修复它,因为它是一个字符串?
答案 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)