为了账号安全,请及时绑定邮箱和手机立即绑定

将 1 月 1 日午夜的小时数转换为实际日期

将 1 月 1 日午夜的小时数转换为实际日期

蓝山帝景 2023-04-18 15:55:59
我正在使用一些遥测技术,这些遥测技术使用自当年 1 月 1 日午夜以来以小时为单位测量的时间戳。所以我在时间 8668.12034 得到值 1我想将其转换为更有用的日期格式,当然我一直在使用硬编码数学将其分为天数、剩余小时数、分钟数等,以计算闰年……它确实有效,但我敢肯定有一种使用日期时间库的简单方法吗?我在想 timedelta 是要走的路,因为它从年初开始就给了我一个增量,但这是否考虑了闰年?好奇其他人会如何处理这个问题,感谢您的任何建议。
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

# import packages we need

import datetime

从经过的时间到 datetime.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 确实知道闰年。


进一步处理

如果想进一步处理,可以使用getattr():


timeunits = ['year', 'month', 'day', 'hour', 'minute', 'second']

[getattr(your_date,timeunit) for timeunit in timeunits]

导致:


[2020, 2, 11, 16, 0, 0]


查看完整回答
反对 回复 2023-04-18
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信