在Matlab中,我有一个从C#中的System.DateTime转换为OADate的双精度列表。在Matlab中,我可以轻松地将其转换为这样的列表:
symbol1TsData = datetime(symbol1TsDataDouble,'ConvertFrom', 'datenum');
Python中的等价物是什么?我尝试了这个,但回来的日期是错误的:
symbol1TsData = list(map(datetime.fromtimestamp, symbol1TsDataDouble))
答案 0 :(得分:1)
我认为这样做会。 OLE时间是1899年12月30日午夜(奇怪的权利?!)的天数(不是像纪元一样的秒!)。
This也可能会有所帮助。
#ole time conversion
import datetime
OLE_TIME_ZERO = datetime.datetime(1899, 12, 30, 0, 0, 0)
def ole_to_epoch(ole):
""" Input: ole - float. Gives ole time, the number of DAYS since midnight 12/30/1899
Output: float - epoch time
"""
x = OLE_TIME_ZERO + datetime.timedelta(days=float(ole))
return (x - datetime.datetime(1970,1,1)).total_seconds()