我正在使用一些遥测技术,该遥测技术使用的时间戳是从今年1月1日午夜开始算起的小时数。
所以我在时间8668.12034处得到了值1
我想将其转换为更有用的日期格式,当然我一直在用硬编码数学将其划分为几天,剩余小时,分钟等,以说明leap年。 '确定使用datetime库有简单的方法吗?
我在想timedelta是要走的路,因为自从年初以来它给了我一个delta,但这是否算得上leap年呢?
很好奇别人会如何处理此问题,谢谢您的建议。
答案 0 :(得分:4)
# import packages we need
import datetime
例如,您可以这样做:
hours_elapsed = 1000
your_date = datetime.datetime(2020,1,1,0,0)+datetime.timedelta(hours=hours_elapsed)
(当然,将hours_elapsed
更改为您所经历的任何时间。)
your_date
将是:datetime.datetime(2020, 2, 11, 16, 0)
是的,timedelta
does know about leap年。
如果要进一步处理,可以使用getattr()
:
timeunits = ['year', 'month', 'day', 'hour', 'minute', 'second']
[getattr(your_date,timeunit) for timeunit in timeunits]
结果:
[2020, 2, 11, 16, 0, 0]