当前位置: 代码迷 >> python >> 从1904年开始以秒为单位转换时间
  详细解决方案

从1904年开始以秒为单位转换时间

热度:82   发布时间:2023-06-13 15:11:03.0

我必须在1908年的python中以秒为单位转换时间。 我找到了一个解决方案,但它没有给出预期的结果。

事实上我不明白python如何转换时间,因为我用shell脚本完成了这个工作,并且python中的答案是不一样的。

shell中的一个例子:

origine=$(date -d '1904-01-01 00:00:00 +0000' '+%s')
T0day=${origine#-}
Tday= $(date -d '2011-10-06 18:05:56 +0000' '+%s')
echo "obase=16;"$Tday+$T0day""  | bc 

如果你尝试在python中这样做:

dt=datetime.datetime(2011, 10, 06, 18, 05,56)
t1=int(time.mktime(dt.timetuple()))

dt=datetime.datetime(1904, 1, 1, 0, 0, 0)
t2=int(time.mktime(dt.timetuple()))

t3= int(t1+t2)
print (hex(t3))

shell结果:CAB39E84

python中的结果:CAB38264

在python中有更好的编码解决方案吗?

使用 ,

import datetime

dt_base = datetime.datetime(1904, 1, 1, 0, 0, 0)
dt = datetime.datetime(2011, 10, 06, 18, 05, 56)
total_seconds = (dt - dt_base).total_seconds()

print(total_seconds)
# 3400769156.0
  相关解决方案