要将datetime序列化为字符串,可以在Python端使用strftime:
import datetime
d = datetime.datetime.now()
print (d.strftime("%d-%b-%Y %H:%M:%S"))
Run Code Online (Sandbox Code Playgroud)
根据MatLab文档, datenum知道如何解析它.
基于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
Run Code Online (Sandbox Code Playgroud)
扭转了在这里所做的事情,我得到了:
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
Run Code Online (Sandbox Code Playgroud)
也应该合作timedelta.microseconds.
在IDLE:
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
| 归档时间: |
|
| 查看次数: |
8394 次 |
| 最近记录: |