如何将10位时间戳转换为13位时间戳?

时间:2020-01-17 07:59:19

标签: python python-2.7 python-datetime

在Python 2中,如何将10位时间戳转换为13位时间戳?

输入:

today = datetime.now()
yesterday = datetime.now() - timedelta(days=1)
today_unixtime = int((mod_time.mktime(today.timetuple())+today.microsecond/1000000.0))
dt_object = datetime.fromtimestamp(today_unixtime)
print(today)
print("timestamp =", today_unixtime)
print("date =", dt_object)

输出:

2020-01-17 11:31:40.450943
('timestamp =', 1579240900)
('date =', datetime.datetime(2020, 1, 17, 11, 31, 40))

我得到正确的日期和时间。但是当我在Chrome浏览器控制台中签入时,

new Date(1579240900)

给我50年的约会日期。当我在Python中转换相同的时间戳时:

输入:

 dt_object = datetime.fromtimestamp(today_unixtime)

输出:

 Mon Jan 19 1970 12:10:40 GMT+0530 (India Standard Time)

在2020年,时间戳记必须始终为13位数字。为什么它会变成10位数字?如何在Python 2中转换为13位数字?

我只需要13位数字,我的API就是13位数字。

这个问题也问了python convert 10 digits datetimestamp to 13 digit GMT timestamp,但没有答案。

1 个答案:

答案 0 :(得分:0)

我正在使用python 2.7

import time
import datetime
import time as mod_time
from datetime import datetime
from datetime import datetime, timedelta
from datetime import date, timedelta  

today = datetime.now()
yesterday = datetime.now() - timedelta(days=1)
today_time = int((mod_time.mktime(today.timetuple())))
yesterday_time = int((mod_time.mktime(yesterday.timetuple())))
today_unixtime = (today_time*1000)
yesterday_unixtime = (yesterday_time*1000)
print("today timestamp =", today_unixtime)
print("yesterday timestamp =", yesterday_unixtime)

输出

('today timestamp =', 1579243097000)
('yesterday timestamp =', 1579156697000)

您可以从crome浏览器控制台检查当前时间戳。

new Date(1579243097000)

它将为您提供当前日期和时间。