В этом примере показано, как считать данные о дате и времени из текстового файла. Затем это показывает, как объединить информацию даты и времени, хранившую в отдельных переменных в одну переменную datetime.
Создайте разделенный текстовый файл пробела под названием schedule.txt
это содержит следующее (чтобы создать файл, используйте любой текстовый редактор, и копию и вставку):
Date Name Time 10.03.2015 Joe 14:31 10.03.2015 Bob 15:33 11.03.2015 Bob 11:29 12.03.2015 Kim 12:09 12.03.2015 Joe 13:05
Считайте файл с помощью readtable
функция. Используйте %D
спецификатор преобразования, чтобы считать первые и третьи столбцы данных как значения datetime.
T = readtable('schedule.txt','Format','%{dd.MM.uuuu}D %s %{HH:mm}D','Delimiter',' ')
T = Date Name Time __________ _____ _____ 10.03.2015 'Joe' 14:31 10.03.2015 'Bob' 15:33 11.03.2015 'Bob' 11:29 12.03.2015 'Kim' 12:09 12.03.2015 'Joe' 13:05
readtable
возвращает таблицу, содержащую три переменные.
Измените формат отображения для T.Date
и T.Time
переменные, чтобы просмотреть обе информации о дате и времени. Поскольку у данных в первом столбце файла ("Дата") нет времени информация, время получившихся значений datetime в T.Date
значение по умолчанию к полуночи. Поскольку данные в третьем столбце файла ("Время") не имеют никакой связанной даты, даты значений datetime в T.Time
значения по умолчанию к текущей дате.
T.Date.Format = 'dd.MM.uuuu HH:mm'; T.Time.Format = 'dd.MM.uuuu HH:mm'; T
T = Date Name Time ________________ _____ ________________ 10.03.2015 00:00 'Joe' 12.12.2014 14:31 10.03.2015 00:00 'Bob' 12.12.2014 15:33 11.03.2015 00:00 'Bob' 12.12.2014 11:29 12.03.2015 00:00 'Kim' 12.12.2014 12:09 12.03.2015 00:00 'Joe' 12.12.2014 13:05
Объедините информацию о дате и времени от двух различных табличных переменных путем добавления T.Date
и временные стоимости в T.Time
. Извлеките информацию времени из T.Time
использование timeofday
функция.
myDatetime = T.Date + timeofday(T.Time)
myDatetime = 10.03.2015 14:31 10.03.2015 15:33 11.03.2015 11:29 12.03.2015 12:09 12.03.2015 13:05