十进制日期&时间转换

时间:2013-06-10 18:13:52

标签: python

我收到了一堆由不再和我们在一起的人生成的报告。 它们每个都以小数日期和时间开头,如下所示:“41433.662413”,“41401.250002” 我使用datetime尝试了很多不同的方法,但无法弄清楚如何恢复日期。我知道(因为手写笔记)以上是指2013年5月27日早上6点。 任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:7)

这看起来像OLE自动化日期,在许多systems such as Microsoft Excel中使用。它实际上是一个代表天数的浮点值,其值为1.0等于1900年1月1日的午夜。

您可以通过以下方式转换为python日期:

from datetime import timedelta, datetime

d = timedelta(days=41433.662413)
st = datetime(1899,12,31)
date = st + d
print(date)

这将打印2013-06-09 15:53:52.483200。虽然这与您提到的5月27日日期有所不同,但考虑到您包含多个输入,我怀疑这是正确的转换,因为这将是一个标准,它提供相同的日期和时间作为手写笔记的范围。然而,如果不确切知道哪个输入对应于该日期,则很难说清楚。

5月27日早上6点,使用此转换的值为41420.25。我会检查这个“值”来检查手写的笔记是否与这种格式一致。