Main Content

datetime 配列の日付と時刻の成分の抽出または割り当て

次の例では、既存の datetime 配列から日付と時刻の成分を抽出する方法として、配列のプロパティへのアクセスと関数呼び出しの 2 つの方法を示します。次に、配列のプロパティを変更して、日付と時刻の成分を変更する方法を示します。

プロパティにアクセスして日付と時刻の成分を取得する

datetime 配列を作成します。

t = datetime('now') + calyears(0:2) + calmonths(0:2) + hours(20:20:60)
t = 1x3 datetime
   13-Feb-2024 20:22:39   14-Mar-2025 16:22:39   15-Apr-2026 12:22:39

配列内の各 datetime の年の値を取得します。ドット表記を使用して tYear プロパティにアクセスします。

t_years = t.Year
t_years = 1×3

        2024        2025        2026

出力の t_years は数値配列です。

Month プロパティにアクセスして、t の各 datetime の月の値を取得します。

t_months = t.Month
t_months = 1×3

     2     3     4

tHourMinute および Second プロパティにアクセスすることで、各 datetime の日付、時、分、秒のコンポーネントをそれぞれ取得できます。

関数を使用して日付と時刻の成分を取得する

関数 month を使用して、t 内の各 datetime の月番号を取得します。関数の使用は、t の特定の日付や時刻のコンポーネントを取得するための代替方法です。

m = month(t)
m = 1×3

     2     3     4

Month プロパティではなく、関数 month を使用して t の各 datetime の完全な月名を取得します。

m = month(t,'name')
m = 1x3 cell
    {'February'}    {'March'}    {'April'}

t の各 datetime の年、四半期、週、日、時、分および秒の各コンポーネントは、それぞれ関数 yearquarterweekhourminute および second を使用して取得できます。

t の各 datetime について、通年の週番号を取得します。

w = week(t)
w = 1×3

     7    11    16

複数の日付と時刻の成分の取得

関数 ymd を使用して、t の年、月および日の値を 3 つの独立した数値配列として取得します。

[y,m,d] = ymd(t)
y = 1×3

        2024        2025        2026

m = 1×3

     2     3     4

d = 1×3

    13    14    15

関数 hms を使用して、t の時、分および秒の値を 3 つの独立した数値配列として取得します。

[h,m,s] = hms(t)
h = 1×3

    20    16    12

m = 1×3

    22    22    22

s = 1×3

   39.5427   39.5427   39.5427

日付と時刻の成分の変更

配列のプロパティを変更して、既存の datetime 配列のコンポーネントに新しい値を割り当てます。ドット表記を使用して特定のプロパティにアクセスします。

t のすべての datetime 値の年番号を 2014 に変更します。ドット表記を使用して Year プロパティを変更します。

t.Year = 2014
t = 1x3 datetime
   13-Feb-2014 20:22:39   14-Mar-2014 16:22:39   15-Apr-2014 12:22:39

t の 3 つの datetime 値の月を、それぞれ 1 月、2 月および 3 月に変更します。新しい値は数値配列として指定しなければなりません。

t.Month = [1,2,3]
t = 1x3 datetime
   13-Jan-2014 20:22:39   14-Feb-2014 16:22:39   15-Mar-2014 12:22:39

TimeZone プロパティに値を代入して、t のタイム ゾーンを設定します。

t.TimeZone = 'Europe/Berlin';

t の表示形式を変更して、日付のみを表示し時間情報を表示しないようにします。

t.Format = 'dd-MMM-yyyy'
t = 1x3 datetime
   13-Jan-2014   14-Feb-2014   15-Mar-2014

通常の範囲外の値を datetime 成分に割り当てると、MATLAB® はコンポーネントを正規化します。月間通算日番号の通常の範囲は 1 から 31 です。この範囲を超える日の値を割り当てます。

t.Day = [-1 1 32]
t = 1x3 datetime
   30-Dec-2013   01-Feb-2014   01-Apr-2014

月番号と年番号は、各 date コンポーネントが通常の範囲内にあるように調整されます。この場合、2014 年 1 月 ‐1 日は 2013 年 12 月 30 日に変換されます。

参考

| | |