calmonths

Календарная длительность в месяцах

Синтаксис

Описание

пример

M = calmonths(X) возвращает массив, представляющий календарные месяцы, эквивалентные значениям в X.

  • Если X является числовым массивом, затем M является calendarDuration массив с каждым элементом, равным количеству календарных месяцев в соответствующем элементе X.

  • Если X является calendarDuration массив, затем M является double массив с каждым элементом, равным количеству целых календарных месяцев в соответствующем элементе X.

The 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

Создайте datetime значение, компонентом даты которого является конец января.

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

Добавьте массив календарных месяцев в D при помощи calmonths функция. Поскольку в феврале меньше дней, чем в январе, однозначно, что добавление календарного месяца к 31 января приводит к дате 28 февраля (поскольку 2021 год - не високосный).

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

Теперь создайте datetime значение, компонентом даты которого является конец февраля.

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

Календарные месяцы имеют разную длину. Однако март и апрель имеют больше дней, чем февраль. Таким образом, добавление календарных месяцев к 28 февраля приводит к датам 28 марта и 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

Входные параметры

свернуть все

Входной массив, заданный как числовой массив, массив календарной длительности или логический массив. Если X является числовым массивом, он должен содержать только целочисленные значения. То есть вы не можете создать дробные календарные модули.

Расширенные возможности

Введенный в R2014b