<分区>
我收到了一堆由不再与我们在一起的人生成的报告。 它们每个都以十进制日期和时间开头,如下所示:“41433.662413”、“41401.250002” 我使用日期时间尝试了许多不同的方法,但无法弄清楚如何恢复日期。我知道(因为手写的笔记)以上指的是 2013 年 5 月 27 日早上 6 点。 任何帮助将不胜感激。 谢谢。
标签 python
<分区>
我收到了一堆由不再与我们在一起的人生成的报告。 它们每个都以十进制日期和时间开头,如下所示:“41433.662413”、“41401.250002” 我使用日期时间尝试了许多不同的方法,但无法弄清楚如何恢复日期。我知道(因为手写的笔记)以上指的是 2013 年 5 月 27 日早上 6 点。 任何帮助将不胜感激。 谢谢。
最佳答案
这看起来像 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
。我会检查此“值”以检查手写笔记是否符合此格式。
关于python - 十进制日期和时间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17030224/