Main Content

calmonths

カレンダー期間の月数

説明

M = calmonths(X) は、X の値に相当するカレンダー月数を表す配列を返します。

  • X が数値配列の場合、McalendarDuration 配列になります。この配列の各要素は、X の対応する要素のカレンダー月数に相当します。

  • XcalendarDuration 配列の場合、Mdouble 配列になります。この配列の各要素は、X の対応する要素の整数のカレンダー月数に相当します。

関数 calmonths は、カレンダー計算に使用される場合、カレンダー月の異なる長さを考慮できる月を作成します。

すべて折りたたむ

X = magic(4);
M = calmonths(X)
M = 4x4 calendarDuration
   1y 4mo      2mo      3mo   1y 1mo
      5mo     11mo     10mo      8mo
      9mo      7mo      6mo       1y
      4mo   1y 2mo   1y 3mo      1mo

date コンポーネントが 1 月末となる datetime 値を作成します。

D = datetime('2021-01-31')
D = datetime
   31-Jan-2021

関数 calmonths を使用して、カレンダー月数の配列を D に加算します。2 月は 1 月より日数が少ないため、1 カレンダー月分を 1 月 31 日に加算した結果が 2 月 28 日の日付になることは明白です (2021 年はうるう年でないため)。

D = D + calmonths(0:2)
D = 1x3 datetime
   31-Jan-2021   28-Feb-2021   31-Mar-2021

次に date コンポーネントが 2 月末となる datetime 値を作成します。

D2 = datetime('2021-02-28')
D2 = datetime
   28-Feb-2021

カレンダー月の長さは異なります。ただし、3 月と 4 月は 2 月より日数が多いです。したがって、カレンダー月数を 2 月 28 日に加算した結果は、3 月 28 日と 4 月 28 日の日付になります。

D2 = D2 + calmonths(0:2)
D2 = 1x3 datetime
   28-Feb-2021   28-Mar-2021   28-Apr-2021

D2 が必ず月の最後の値を持つようにするには、関数 dateshift を使います。

D2 = dateshift(D2,'end','month')
D2 = 1x3 datetime
   28-Feb-2021   31-Mar-2021   30-Apr-2021

カレンダー期間の配列を作成します。その後、対応する整数のカレンダー月数に各値を変換します。

X = calmonths(15:17) + caldays(8) + hours(1.2345)
X = 1x3 calendarDuration
   1y 3mo 8d 1h 14m 4.2s   1y 4mo 8d 1h 14m 4.2s   1y 5mo 8d 1h 14m 4.2s

M = calmonths(X)
M = 1×3

    15    16    17

入力引数

すべて折りたたむ

入力配列。数値配列、カレンダー期間配列、logical 配列のいずれかとして指定します。X が数値配列の場合、整数値しか格納できません。つまり、小数のカレンダー単位は作成できません。

拡張機能

スレッドベースの環境
MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

バージョン履歴

R2014b で導入