Main Content

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

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

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

datetime 配列を作成します。

t = datetime('now') + calyears(0:2) + calmonths(0:2) + hours(20:20:60)
t = 1x3 datetime
   21-Jul-2024 11:18:58   22-Aug-2025 07:18:58   23-Sep-2026 03:18:58

配列内の各 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

     7     8     9

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

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

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

m = month(t)
m = 1×3

     7     8     9

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

m = month(t,'name')
m = 1x3 cell
    {'July'}    {'August'}    {'September'}

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

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

w = week(t)
w = 1×3

    30    34    39

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

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

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

        2024        2025        2026

m = 1×3

     7     8     9

d = 1×3

    21    22    23

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

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

    11     7     3

m = 1×3

    18    18    18

s = 1×3

   58.5974   58.5974   58.5974

日付と時刻の成分の変更

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

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

t.Year = 2014
t = 1x3 datetime
   21-Jul-2014 11:18:58   22-Aug-2014 07:18:58   23-Sep-2014 03:18:58

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

t.Month = [1,2,3]
t = 1x3 datetime
   21-Jan-2014 11:18:58   22-Feb-2014 07:18:58   23-Mar-2014 03:18:58

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

t.TimeZone = 'Europe/Berlin';

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

t.Format = 'dd-MMM-yyyy'
t = 1x3 datetime
   21-Jan-2014   22-Feb-2014   23-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 日に変換されます。

参考

| | |