我正在寻找一种将 datetime 对象转换为 decimal(/float) 年份的方法,包括小数部分。例子:
>>> obj = SomeObjet()
>>> obj.DATE_OBS
datetime.datetime(2007, 4, 14, 11, 42, 50)
如何将 datetime.datetime(2007, 4, 14, 11, 42, 50)
转换为十进制年。我所说的十进制格式是指浮点值 2007.4523
,其中小数部分是从年初(2007-01-01 到 2007-04-14)开始的秒数除以总数那一年的秒数(2007-01-01 到 2008-01-01)。
(注意:在统计建模中(例如线性回归),这称为 “时间指数” )
原文由 user739807 发布,翻译遵循 CC BY-SA 4.0 许可协议
演示:
这种方法可能精确到秒(如果夏令时或其他奇怪的区域性事物生效,则精确到小时)。它在闰年期间也能正常工作。如果您需要剧烈的分辨率(例如由于地球自转的变化),您最好查询网络服务。