Skip to main content
 首页 » 编程设计

python之将 datetime.now() 与 python 2.7 的 utc 时间戳进行比较

2025年05月04日25落叶无声

我有一个时间戳,例如 1474398821633L,我认为它是 utc 格式的。我想将它与 datetime.datetime.now() 进行比较以验证它是否已过期。

我正在使用 python 2.7

from datetime import datetime 
 
timestamp = 1474398821633L 
now = datetime.now() 
 
if datetime.utcfromtimestamp(timestamp) < now: 
    print "timestamp expired" 

然而,当我尝试从时间戳创建日期时间对象时遇到此错误:ValueError: timestamp out of range for platform localtime()/gmtime() function

我能做什么?

请您参考如下方法:

它看起来您的时间戳以毫秒为单位。 Python 使用以秒为单位的时间戳:

>>> datetime.datetime.utcfromtimestamp(1474398821.633) 
datetime.datetime(2016, 9, 20, 19, 13, 41, 633000) 

换句话说,您可能需要将时间戳除以 1000。 才能使其处于正确的范围内。

此外,您可能希望比较 datetime.utcnow() 而不是 datetime.now() 以确保您正确处理时区:- ).