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

标签 python python-datetime

我正在使用一些遥测技术,这些遥测技术使用自当年 1 月 1 日午夜以来以小时为单位测量的时间戳。

所以我在时间 8668.12034 得到值 1

我想将它转换为更有用的日期格式,当然我一直在使用硬编码数学将天数、剩余小时数、分钟数等划分为闰年……它有效,但我确定有一种使用日期时间库的简单方法或正确的方法吗?

我认为 timedelta 是可行的方法,因为它从年初开始就给了我一个增量,但这是否考虑了闰年?

很好奇其他人会如何处理这个问题,感谢您的任何建议。

最佳答案

# 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 does know about闰年。


进一步处理

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

timeunits = ['year', 'month', 'day', 'hour', 'minute', 'second']
[getattr(your_date,timeunit) for timeunit in timeunits]

导致:

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

关于python - 将 1 月 1 日午夜的小时数转换为实际日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63207494/

相关文章:

python - 如何将上限应用于 Pandas DateTime

python - 在 Jinja 模板中将 UNIX 时间转换为 datetime 对象

python - 如何在满足 while 循环条件时跳出 time.sleep()

python - 从时间戳中删除特定字符

Python 多处理似乎几乎不可能在类内完成/使用任何类实例。它的预期用途是什么?

python print命令导致I/O错误

python - datetime.fromtimestamp vs datetime.utcfromtimestamp,哪个使用起来更安全?

python - Python 串行导入错误

python - 在 Django 之外使用模型和表单?

python - Matplotlib 交互式条形图