我必须将MATLAB的datenum转换为Python的日期时间(例如,2010-11-04 00:03:50.209589)。 datenum以毫秒为单位,日期必须为2010-11-04 00:00:00至2011-06-11 00:00:00。
以下代码如下:
matlab_datenum = 6.365057116950260162e+10
python_datetime = datetime.datetime.fromtimestamp(matlab_datenum / 1e3)
print (python_datetime)
结果是:1972-01-07 16:42:51.169503
结果错误,因为日期必须是2010-11-04至2011-06-11。
你知道如何纠正结果吗?
感谢您的帮助
答案 0 :(得分:1)
Matlab文档中的datenum页面指出:
datenum函数创建一个数字数组,表示每个时间点为从0000年1月0日起的天数。
Python的datetime模块页面为fromtimestamp声明了以下内容:
返回与POSIX时间戳对应的本地日期 这是1970年1月1日00:00:00
这两个函数从不同的起点开始计算并使用不同的单位(天和秒),因此两个日期之间存在差异。