Main Content

個別の変数からの日付と時刻の結合

この例では、テキスト ファイルから日付と時刻のデータを読み取る方法を説明します。さらに、個別の変数に保存された日付と時刻の情報を 1 つの 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 を使用してデータの 1 列目と 3 列目を 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 は 3 つの変数を含む table を返します。

変数 T.Date および T.Time の表示形式を変更して日付と時刻の両方が表示されるようにします。ファイルの 1 列目 ("Date") には時刻の情報がないため、T.Date の datetime 値は既定の午前 0 時になります。ファイルの 3 列目 ("Time") には関連付けられた日付がないため、T.Time の datetime 値は既定の現在の日付になります。

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 の時刻の値を加えて 2 つの異なるテーブル変数からの日付と時刻の情報を結合します。関数 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

参考

|