MATLAB での日付と時刻の表現
日付と時刻の情報を格納する主な方法は datetime
配列の使用です。これは、算術、並べ替え、比較、プロット、書式設定された表示をサポートします。算術的差の結果は配列 duration
で返され、カレンダー ベースの関数を使用している場合は calendarDuration
配列で返されます。
たとえば、2 つの日付を表す MATLAB® datetime 配列を作成します。日付は、2014 年 6 月 28 日の午前 6 時と、2014 年 6 月 28 日の午前 7 時とします。datetime の年、月、日、時、分、秒のコンポーネントに数値を指定します。
t = datetime(2014,6,28,6:7,0,0)
t = 28-Jun-2014 06:00:00 28-Jun-2014 07:00:00
datetime 配列のプロパティに新しい値を代入することによって、日付または時刻の成分の値を変更します。たとえば、Day
プロパティに新しい値を代入することによって、各 datetime の日番号を変更します。
t.Day = 27:28
t = 27-Jun-2014 06:00:00 28-Jun-2014 07:00:00
この配列の Format
プロパティを変更することによって、表示形式を変更します。次の形式では、時刻の成分は表示されません。しかし、datetime 配列内の値は変更されません。
t.Format = 'MMM dd, yyyy'
t = Jun 27, 2014 Jun 28, 2014
1 つの datetime
配列を他のものから減算すると、結果は固定長の単位の duration
配列になります。
t2 = datetime(2014,6,29,6,30,45)
t2 = 29-Jun-2014 06:30:45
d = t2 - t
d = 48:30:45 23:30:45
既定では、duration
配列は、時:分:秒の形式で表示されます。duration の Format
プロパティを変更することによって、表示形式を変更します。duration 値は、時間などの単一の単位で表示できます。
d.Format = 'h'
d = 48.512 hrs 23.512 hrs
関数 seconds
、minutes
、hours
、days
または years
を使用して、単一の単位で期間を作成できます。たとえば、2 日の期間を作成します。各日はちょうど 24 時間です。
d = days(2)
d = 2 days
可変長の単一の単位で、カレンダー期間を作成できます。たとえば、1 か月の長さは 28、29、30 または 31 日にできます。2 か月のカレンダー期間を指定します。
L = calmonths(2)
L = 2mo
関数 caldays
、calweeks
、calquarters
および calyears
を使用して、他の単位でカレンダー期間を指定します。
カレンダー月数とカレンダー日数を加算します。1 か月内の日数は固定ではなく、カレンダー期間を特定の datetime に加算するまで決定できないため、日数は月数からは独立したままです。
L = calmonths(2) + caldays(35)
L = 2mo 35d
カレンダー期間 を datetime に加算して新しい日付を計算します。
t2 = t + calmonths(2) + caldays(35)
t2 = Oct 01, 2014 Oct 02, 2014
t2
は datetime
配列でもあります。
whos t2
Name Size Bytes Class Attributes t2 1x2 161 datetime
要約すると、日付と時刻を表現する方法はいくつかあり、MATLAB には各アプローチ用のデータ型があります。
datetime
データ型を使用してある時点を表現する。
例:2014 年 6 月 18 日 (水) 10:00:00duration
データ型を使用して、固定長の単位で時間の長さ、つまり期間を表現する。duration
データ型を使用する場合、1 日は常に 24 時間と等しく、1 年は常に 365.2425 日と等しくなります。
例:72 時間と 10 分calendarDuration
データ型を使用して、可変長の単位で時間の長さ、つまり期間を表現する。
例:1 か月の長さは、28、29、30 または 31 日にできます。
calendarDuration
データ型は、夏時間の変更とうるう年も考慮するため、1 日が 24 時間より長かったり短かったりする場合があり、1 年は 365 日または 366 日の場合があります。