【发布时间】: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