我正在解析一些具有the秒时间戳记datetime的数据2012-06-30T23:59:60.209215。我使用以下代码来解析该字符串并将其转换为datetime对象:
2012-06-30T23:59:60.209215
nofrag, frag = t.split('.') nofrag_dt = datetime.datetime.strptime(nofrag, "%Y-%m-%dT%H:%M:%S") dt = nofrag_dt.replace(microsecond=int(frag))
Python文档声称这不应该成为%S接受的问题[0, 61]。但是,我在上面的时间戳中收到此错误
%S
[0, 61]
nofrag_dt = datetime.datetime.strptime(nofrag, "%Y-%m-%dT%H:%M:%S") ValueError: second must be in 0..59
谢谢
做这个:
import time import datetime t = '2012-06-30T23:59:60.209215' nofrag, frag = t.split('.') nofrag_dt = time.strptime(nofrag, "%Y-%m-%dT%H:%M:%S") ts = datetime.datetime.fromtimestamp(time.mktime(nofrag_dt)) dt = ts.replace(microsecond=int(frag)) print(dt)
输出为:
2012-07-01 00:00:00.209215