#datetime #matlab
#дата-время #matlab
Вопрос:
Я пытаюсь преобразовать строку даты в номер даты, используя dtstr2dtnummx (в три раза быстрее, чем datenum), но для этого ввода
dtstr2dtnummx({‘2010-12-12 12:21:13.101′},’ гггг-мм-дд ЧЧ: ММ:SS.FFF’)
и этот ввод
dtstr2dtnummx({‘2010-12-12 12:21:13.121′},’ гггг-мм-дд ЧЧ: ММ:SS.FFF’)
получаем тот же результат. Я использовал следующий учебник для создания формата даты.
Ах, извините, ОБНОВЛЕНО
Комментарии:
1. Для меня они выглядят точно так же. Я что-то упускаю?
Ответ №1:
Соответствующим форматом ‘FFF’ в datenum является ‘SSS’ в dtstr2dtnummx, как можно видеть в строке cnv2icudf.m #126. Конечным результатом является:
>> d1 = dtstr2dtnummx({'2010-12-12 12:21:13.101'},'yyyy-MM-dd HH:mm:ss.SSS')
d1 =
734484.514734965
>> d2 = dtstr2dtnummx({'2010-12-12 12:21:13.121'},'yyyy-MM-dd HH:mm:ss.SSS')
d2 =
734484.514735197
>> % double check the results - difference should equal 0.02 secs:
>> secsPerDay = 24*60*60;
>> timeDiff = secsPerDay * (d2-d1)
timeDiff =
0.019996
Сейчас я опубликовал статью об этом на http://undocumentedmatlab.com/blog/datenum-performance /