【问题标题】:python - Difference between two unix timestampspython - 两个unix时间戳之间的区别
【发布时间】:2018-01-18 02:01:31
【问题描述】:

我有两个以毫秒为单位的时间戳,我想以分钟为单位计算两者之间的差异:

d1 = 1502053449617 

current_time_utc = int(round(time.time() * 1000))

d1 的值由第三方 API 动态生成,并采用 UTC 格式。我正在尝试获取 UTC 和 d1 中的当前时间之间的差异。

fmt = '%Y-%m-%d %H:%M:%S'

 time1  = datetime.strptime(d1, fmt)
 time2  = datetime.strptime(current_time_utc, fmt)

我希望能够找到两者之间的区别 (time1 - time2) 。如果我执行以下操作,我会收到一条错误消息,提示“字符串预期,长给定”

print(    time1-time2)

我想要以分钟为单位的两者之间的差异。请帮忙

【问题讨论】:

  • 两者相减得到毫秒数。一分钟有多少毫秒? (除以 1000 为秒,再除以 60 为分钟)。

标签: python-2.7


【解决方案1】:

您不需要格式化字符串,只需要直接转换时间戳,首先将其除以 1000。然后只需打印出差异(并以分钟计算):

from __future__ import division
import datetime

d1 = 1502053449617

converted_d1 = datetime.datetime.fromtimestamp(round(d1 / 1000))
current_time_utc = datetime.datetime.utcnow()

print((current_time_utc - converted_d1))
print((current_time_utc - converted_d1).total_seconds() / 60)

以上打印:

3 days, 5:08:14.087515
4628.234791916667

【讨论】:

    【解决方案2】:

    我必须计算两个 unix 时间戳之间的差异 - 但以天为单位,如下所示:

    创建两个 unix 时间戳:

    import datetime
    
    timestamp1 = datetime.datetime(2017, 12, 1).strftime('%s')
    timestamp2 = datetime.datetime(2017, 11, 14).strftime('%s')
    
    print(timestamp1)
    print(timestamp2)
    
    1512079200
    1510610400
    

    计算日差:

    print((float(timestamp1)-float(timestamp2))/(60*60*24))
    

    输出:

    17.0
    

    【讨论】:

    • 是的,它简单而强大
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 2020-12-10
    相关资源
    最近更新 更多