【问题标题】:Convert seconds since epoch to days since 0001-01-01 UTC in Python在 Python 中将自纪元以来的秒数转换为自 0001-01-01 UTC 以来的天数
【发布时间】:2013-08-09 15:26:40
【问题描述】:

我在 Python 中有一段时间,它表示为自 unix 时代以来的秒数。然而,Matplotlib 需要自 0001-01-01 UTC (http://matplotlib.org/api/dates_api.html) 以来的天数。

如何将自 unix 纪元以来的秒数转换为自 0001-01-01 UTC 以来的天数?

【问题讨论】:

  • 你的python时间是datetime类型吗?如果是这样,请使用您链接到的文档中的 date2num 辅助函数。
  • 不,不幸的是,它是一个浮点数,等于自纪元以来的(小数)秒。我希望有一些聪明的方法可以做到这一点,而无需在日期时间对象之间来回转换
  • UTC 直到 1960 年代才开始。在此之前的任何内容肯定都不是普遍定义的。但 MATLAB 可能了解 UTC。
  • 您只需计算一次 0001-01-01 和 1970-01-01 之间的天数。然后将其添加到自 1970-01-01 以来的天数。要计算出天数,您可以除以每天的秒数 (86400)。我很确定 unix epoch 函数始终与每天 86400 秒一致(ie 闰秒不计算在内)。这使数学变得容易。

标签: python datetime time utc epoch


【解决方案1】:

稍微深入阅读一下文档会显示 matplotlib.dates.epoch2num

【讨论】:

    猜你喜欢
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 2015-10-19
    • 2019-12-04
    • 2018-08-08
    • 2023-03-03
    相关资源
    最近更新 更多