【问题标题】:How to convert milliseconds to date and time format?如何将毫秒转换为日期和时间格式?
【发布时间】:2019-10-21 09:59:43
【问题描述】:

我在 Python 程序中有一个以毫秒为单位的值。例如:1557975599999

我想将它转换为包含天数、小时数、分钟数、秒数的字符串。我该怎么做?

【问题讨论】:

  • 假设该值是“unix 时间戳”是否正确 - 自纪元以来的时间?它实际上是以微秒为单位,而不是以毫秒为单位吗?

标签: python python-3.x datetime datetime-format python-datetime


【解决方案1】:

与熊猫的to_datetime()

import pandas as pd

pd.to_datetime(a, unit='ms')

# Or with a dataframe(column):
df['date'] = pd.to_datetime(df['Millisecond_time'], unit='ms')

【讨论】:

    【解决方案2】:

    要将unix timestamp 转换为日期时间,您可以使用datetime.fromtimestamp()。唯一的问题是您的时间戳以毫秒为单位,但函数期望时间戳以秒为单位。要减少毫秒,您可以将时间戳除以 1000。

    代码:

    from datetime import datetime
    
    a = 1557975599999
    date = datetime.fromtimestamp(a // 1000)
    print(date)
    

    输出:

    2019-05-16 05:59:59
    

    更新。

    cmets 中的@Daniel 注意到fromtimestamp() 接受浮点数,因此我们可以节省原始时间戳的毫秒数。我们只需要删除一个符号:D

    date = datetime.fromtimestamp(a / 1000)
    

    【讨论】:

      猜你喜欢
      • 2017-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      相关资源
      最近更新 更多