Python3中的历元日期转换未按预期工作

Python3中的历元日期转换未按预期工作,python,Python,我正在使用一个以“1619714600948”格式存储时间的应用程序,该格式有13个字符长。我相信这是一个划时代的日子。使用该网站证实了这一点。我可以输入13个字符的日期输入和输出: 当我尝试在Python3中创建一个纪元日期时,结果是1619703857,它只有10个字符长。当我试图比较存储的日期和生成的日期时,这会导致问题。为什么我没有得到预期的13个字符的纪元日期?下面是我在搜索Stackoverflow的基础上尝试的一些方法 date_time2 = '04.29.2021' + &q

我正在使用一个以“1619714600948”格式存储时间的应用程序,该格式有13个字符长。我相信这是一个划时代的日子。使用该网站证实了这一点。我可以输入13个字符的日期输入和输出:

当我尝试在Python3中创建一个纪元日期时,结果是1619703857,它只有10个字符长。当我试图比较存储的日期和生成的日期时,这会导致问题。为什么我没有得到预期的13个字符的纪元日期?下面是我在搜索Stackoverflow的基础上尝试的一些方法

date_time2 = '04.29.2021' + " " + "13:44:17.000000"
pattern2 = '%m.%d.%Y %H:%M:%S.%f'

# get a time structure
tm = time.strptime(date_time2, pattern2)

# convert to gmt
gmt_epoch = int(calendar.timegm(tm))
print(gmt_epoch) #10 digit result 


date_string = calendar.timegm(time.strptime(str(date.today()), '%Y-%m-%d'))
print(date_string) #10 digit result 
尝试从中转换会给我一个5位数年份的日期

print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1619714600948))) #Bogus date of 53296-09-16 11:29:08
print(time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(1619714600948))) # Bogus date of 53296-09-16 18:29:08

造成这种差异的原因是什么?我如何修复它?

这是一个UNIX时间,以毫秒为单位(在JavaScript中很常见)。除以1000

>>> import datetime
>>> datetime.datetime.fromtimestamp(1619714600948 / 1000.)
datetime.datetime(2021, 4, 29, 19, 43, 20, 948000)
类似地,乘以1000得到毫秒时间戳:

>>> datetime.datetime.now().timestamp() * 1000
1619718337164.896

该网站表示,它假设时间戳以毫秒为单位。Python 1缩短了3位数,因为它以秒为单位。的文档清楚地表明,这需要几秒钟,而不是几毫秒。为什么不把它除以1000呢?