exponenta event banner

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