Повернув вспять то, что было сделано здесь , я получил:
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
.
В бездействии:
n = datetime.now ()
datetime.datetime (2012, 2, 13, 6, 56, 2, 619000)
datetime2matlabdn (п) * ** одна тысяча двадцать один * тысяча двадцать-два
734912,28891203704
В Matlab:
>> datestr (734912.28891203704)
ans =
13-фев-2012 06: 56: 02