calmonths

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

Синтаксис

Описание

пример

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

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

  • Если X calendarDuration массив, затем M double массив с каждым элементом равняется номеру целых календарных месяцев в соответствующем элементе 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

Создайте 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