【问题标题】:How to convert 10 digit timestamp to 13 digit timestamp?如何将 10 位时间戳转换为 13 位时间戳?
【发布时间】:2020-05-04 02:25:00
【问题描述】:

在 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,000? JavaScript 在 milli 秒内处理时间戳。
  • 事实上,your answer on the linked question 显示乘以 1,000,所以我对你在这里问什么感到困惑。
  • @jonrsharpe Stackoverflow 允许回答您自己的问题,如果您认为它与其他用户相关。所以OP并没有真正的问题,只是想分享如何解决其他人可能遇到的问题
  • @SembeiNorimaki self answered questions: 1. 必须仍然满足所有帖子的质量要求;和 2. 通常一小时后 后没有发布答案。此外,这里的 OP 显然已经能够找到上一个问题,因此不需要路标,并明确表示 “但没有答案”,尽管在​​那里发布了相同的内容。也许这他们试图做的,但他们以一种莫名其妙的方式去做了它(它仍然只是一个微不足道的乘法,更不用说stackoverflow.com/q/5998245/3001761的欺骗了)。跨度>

标签: python python-2.7 python-datetime


【解决方案1】:

我正在使用 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)

它会给你一个当前的日期和时间。

【讨论】:

    猜你喜欢
    • 2018-05-20
    • 2020-06-21
    • 2021-12-10
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多