Main Content

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

関数 secondsminuteshoursdays または years を使用して、単一の単位で期間を作成できます。たとえば、2 日の期間を作成します。各日はちょうど 24 時間です。

d = days(2)
d = 
   2 days

可変長の単一の単位で、カレンダー期間を作成できます。たとえば、1 か月の長さは 28、29、30 または 31 日にできます。2 か月のカレンダー期間を指定します。

L = calmonths(2)
L = 
    2mo

関数 caldayscalweekscalquarters および 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:00

  • duration データ型を使用して、固定長の単位で時間の長さ、つまり期間を表現する。duration データ型を使用する場合、1 日は常に 24 時間と等しく、1 年は常に 365.2425 日と等しくなります。
    例:72 時間と 10 分

  • calendarDuration データ型を使用して、可変長の単位で時間の長さ、つまり期間を表現する。
    例:1 か月の長さは、28、29、30 または 31 日にできます。
    calendarDuration データ型は、夏時間の変更とうるう年も考慮するため、1 日が 24 時間より長かったり短かったりする場合があり、1 年は 365 日または 366 日の場合があります。

参考

| |