Convert seconds since epoch to days since 0001-01-01 UTC in Python
我有一段时间用Python表示自unix时代以来的秒数。 然而,Matplotlib需要自0001-01-01 UTC以来的几天(http://matplotlib.org/api/dates_api.html)。
如何将自unix时代以来的秒数转换为自0001-01-01 UTC以来的天数?
-
你的python时间是datetime类型吗? 如果是这样,请使用您链接到的doc中的date2num帮助程序函数。
-
不,不幸的是它是一个浮点数,等于自纪元以来的(分数)秒。 我希望有一些聪明的方法可以做到这一点,而无需在datetime对象之间来回转换
-
UTC直到20世纪60年代才开始。 之前的任何事情当然都不是普遍定义的。 但MATLAB可能对UTC有所了解。
-
您只需计算一次0001-01-01和1970-01-01之间的天数。 然后将其添加到自1970-01-01以来的天数。 要计算出天数,您可以除以每天的秒数(86400)。 我很确定unix epoch函数总是与每天86400秒对齐(即不计算闰秒)。 这使得数学变得容易。
更详尽的文档阅读显示matplotlib.dates.epoch2num