Объедините дату и время из отдельных переменных

В этом примере показано, как считать данные о дате и времени из текстового файла. Затем он показывает, как объединить информацию о дате и времени, хранящуюся в отдельных переменных, в одну переменную 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 переменные для просмотра информации о дате и времени. Поскольку данные в первом столбце файла («Date») не имеют информации о времени, время получения значений 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

См. также

|