Формат даты MATLAB

#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 /