2024-04-26 12:08:15 发布
网友
如何将Pythondatetime转换为Matlabdatetnum?
datetime
datetnum
根据bavaza的回答-现在包括微秒:
def datetime2matlabdn(dt): mdn = dt + timedelta(days = 366) frac_seconds = (dt-datetime.datetime(dt.year,dt.month,dt.day,0,0,0)).seconds / (24.0 * 60.0 * 60.0) frac_microseconds = dt.microsecond / (24.0 * 60.0 * 60.0 * 1000000.0) return mdn.toordinal() + frac_seconds + frac_microseconds
要将datetime序列化为字符串,可以在Python端使用strftime:
import datetime d = datetime.datetime.now() print (d.strftime("%d-%b-%Y %H:%M:%S"))
根据MatLab docsdatenum知道如何解析它。
把做过的事情颠倒过来,我得到:
def datetime2matlabdn(dt): ord = dt.toordinal() mdn = dt + timedelta(days = 366) frac = (dt-datetime(dt.year,dt.month,dt.day,0,0,0)).seconds / (24.0 * 60.0 * 60.0) return mdn.toordinal() + frac
也应该和timedelta.microseconds一起工作。
timedelta.microseconds
空闲时:
n = datetime.now()datetime.datetime(2012, 2, 13, 6, 56, 2, 619000)datetime2matlabdn(n)734912.28891203704
n = datetime.now()
datetime.datetime(2012, 2, 13, 6, 56, 2, 619000)
datetime2matlabdn(n)
734912.28891203704
在Matlab中:
>> datestr(734912.28891203704)ans = 13-Feb-2012 06:56:02
>> datestr(734912.28891203704)
ans = 13-Feb-2012 06:56:02
根据bavaza的回答-现在包括微秒:
要将datetime序列化为字符串,可以在Python端使用strftime:
根据MatLab docsdatenum知道如何解析它。
把做过的事情颠倒过来,我得到:
也应该和
timedelta.microseconds
一起工作。空闲时:
在Matlab中:
相关问题 更多 >
编程相关推荐