小编典典

Python-日期时间不能正确计算leap秒?

python

我正在解析一些具有the秒时间戳记datetime的数据2012-06-30T23:59:60.209215。我使用以下代码来解析该字符串并将其转换为datetime对象:

    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]。但是,我在上面的时间戳中收到此错误

nofrag_dt = datetime.datetime.strptime(nofrag, "%Y-%m-%dT%H:%M:%S")
ValueError: second must be in 0..59

谢谢


阅读 223

收藏
2020-12-20

共1个答案

小编典典

做这个:

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
2020-12-20