datemnth

Дата дня в будущем или прошлом месяце

Описание

пример

TargetDate = datemnth(StartDate,NumberMonths) определяет дату в будущем или в прошлом месяце на основе движения вперед или назад во времени на заданное количество месяцев.

Любой вход может содержать несколько значений, но если это так, все другие входы должны содержать то же количество значений или одно значение, которое применяется ко всем. Для примера, если StartDate является n символьным массивом векторов дат, затем NumberMonths должен быть N-by- 1 вектор из целых чисел или одно целое. TargetDate в таком случае является N-by- 1 вектор номеров дат.

Если StartDate является серийным номером даты или вектором символов даты, TargetDate возвращается как серийный номер даты. Использовать datestr для преобразования серийных номеров дат в форматированные векторы символов дат.

Если StartDate - массив datetime, затем TargetDate возвращается как массив datetime.

пример

TargetDate = datemnth(___,DayFlag,Basis,EndMonthRule) определяет дату в будущем или в прошлом месяце на основе движения вперед или назад во времени на заданное количество месяцев, используя необязательные входные параметры для DayFlag, Basis, и EndMonthRule.

Примеры

свернуть все

Определите TargetDate в будущем месяце с помощью вектора символов даты для StartDate.

StartDate = '03-Jun-1997';
NumberMonths = 6;
DayFlag = 0;
Basis = 0;
EndMonthRule = 1;
 
TargetDate = datemnth(StartDate, NumberMonths, DayFlag,...
Basis, EndMonthRule)
TargetDate = 729727
datestr(TargetDate)
ans = 
'03-Dec-1997'

Определите TargetDate в будущем месяце с использованием массива datetime для StartDate.

Day = datemnth(datetime('3-jun-2001','Locale','en_US'), 6, 0, 0, 0)
Day = datetime
   03-Dec-2001

Определите TargetDate в будущем месяце используя вектор для NumberMonths.

NumberMonths = [1; 3; 5; 7; 9];
TargetDate = datemnth('31-jan-2001', NumberMonths); 
datestr(TargetDate)
ans = 5x11 char array
    '28-Feb-2001'
    '30-Apr-2001'
    '30-Jun-2001'
    '31-Aug-2001'
    '31-Oct-2001'

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

свернуть все

Дата начала, заданная как N-by- 1 или 1-by- N вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.

Типы данных: double | char | datetime

Количество месяцев в будущем (положительное) или прошлом (отрицательное), заданное как N-by- 1 или 1-by- N вектор, содержащий положительные или отрицательные целые числа.

Типы данных: double

Флаг для определения фактического номера дня для целевой даты в будущем или прошлом месяце, заданный как N-by- 1 или 1-by- N вектор с числом со значениями 0, 1, или 2.

Возможные значения:

  • 0 (по умолчанию) = номер дня должен быть днем в будущем или прошлом месяце, соответствующим фактическому номеру дня даты начала.

  • 1 = номер дня должен быть первым днем будущего или прошлого месяца.

  • 2 = номер дня должен быть последним днем будущего или прошлого месяца.

Этот флаг не действует, если EndMonthRule установлено в 1.

Типы данных: double

Базис отсчета дней, используемый при определении прошедшей или будущей даты, заданный как скалярное значение с целым числом со значением 0 через 13, или N-by- 1 или 1-by- N вектор целых чисел со значениями 0 через 13.

  • 0 = факт/факт (по умолчанию)

  • 1 = 30/360 (SIA)

  • 2 = факт/360

  • 3 = факт/365

  • 4 = 30/360 (BMA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (европейский)

  • 7 = факт/365 (японский)

  • 8 = факт/факт (ICMA)

  • 9 = факт/360 (ICMA)

  • 10 = факт/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = факт/365 (ISDA)

  • 13 = BUS/252

Для получения дополнительной информации см. раздел Базиса.

Типы данных: single | double

Флаг правила конца месяца для месяца, имеющего 30 или менее дней, задается как скаляр с неотрицательным целым числом 0 или 1, или как N-by- 1 или 1-by- N вектор значений 0 или 1.

  • 0 = Игнорировать правило, что означает, что правило не действует.

  • 1 = Установите правило, означающее, что если вы начинаете в последний день месяца, а месяц имеет 30 или менее дней, вы закончите в последний фактический день будущего или прошлого месяца независимо от того, имеет ли этот месяц 28, 29, 30 или 31 день.

Типы данных: logical

Выходные аргументы

свернуть все

Целевая дата в будущем или прошлом месяце, возвращенная в качестве N-by- 1 или 1-by- N вектор, содержащий серийный номер даты (по умолчанию) или datetime (если StartDate - массив datetime) целевой даты.

Представлено до R2006a