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

Этот пример показывает, как считать данные о дате и времени из текстового файла. Затем это показывает, как объединить информацию даты и времени, хранившую в отдельных переменных в одну переменную 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

Смотрите также

|