Main Content

合并来自各自变量的日期时间

本示例展示如何从文本文件读取日期时间数据。然后再展示如何将存储在各自变量中的日期时间信息合并到单个日期时间变量中。

创建名为 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 转换设定符,以日期时间值的格式读取第一列和第三列数据。

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.DateT.Time 变量的显示格式,以查看日期时间信息。由于文件第一列(“Date”)中的数据不含时间信息,因此 T.Date 中生成的日期时间值的时间部分默认设为午夜零点。由于文件第三列(“Time”)中的数据没有关联的日期,因此 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.DateT.Time 中的时间值相加,合并来自两个不同表变量的日期时间信息。使用 timeofday 函数从 T.Time 中提取时间信息。

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

另请参阅

|