dateshift

Переключите дату или сгенерируйте последовательность дат и времен

Описание

t2 = dateshift(t,'start',unit) сдвиги каждое значение в datetime массив t назад к началу модуля времени задан unit. Выход t2 одного размера с t.

пример

t2 = dateshift(t,'end',unit) переключает значения вперед в конец модуля времени, заданного unit. Конец дня, часа, минуты, или второй является также началом следующего. Например, конец дня происходит в полночь в начале следующего дня. Конец года, четверти, месяц или неделя является полуночью в начале прошлого дня того периода времени.

пример

t2 = dateshift(t,'dayofweek',dow) возвращает следующее вхождение заданного дня недели на или после каждого datetime значение в массиве t. Если дата в t падения в заданный день недели, затем dateshift возвращает ту же дату.

пример

t2 = dateshift(___,rule) сдвиги каждое значение в массиве t согласно шаблону, заданному rule. Можно использовать этот синтаксис с любым из аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Задайте текущую дату.

t = datetime('today')
t = datetime
   23-Mar-2021

Переключите дату в конец того же месяца.

t2 = dateshift(t,'end','month')
t2 = datetime
   31-Mar-2021

Задайте текущую дату.

t = datetime('today')
t = datetime
   23-Mar-2021

Переключите дату к запуску следующего месяца.

t2 = dateshift(t,'start','month','next')
t2 = datetime
   01-Apr-2021

Переключите дату в конец следующего месяца.

t2 = dateshift(t,'end','month','next')
t2 = datetime
   30-Apr-2021

Переключите массив дат вперед к следующей пятнице.

t = datetime([2014,08,03;2014,04,15])
t = 2x1 datetime
   03-Aug-2014
   15-Apr-2014

t2 = dateshift(t,'dayofweek','Friday')
t2 = 2x1 datetime
   08-Aug-2014
   18-Apr-2014

Переключите массив дат назад к предыдущему понедельнику.

t2 = dateshift(t,'dayofweek','Monday','previous')
t2 = 2x1 datetime
   28-Jul-2014
   14-Apr-2014

Найдите дату, которая падает в конце пятой недели с сегодняшнего дня.

t = datetime('today')
t = datetime
   23-Mar-2021

t2 = dateshift(t,'end','week',5)
t2 = datetime
   01-May-2021

Сгенерируйте последовательность дат, состоящих из следующих трех случаев пятницы.

t = datetime('today')
t = datetime
   23-Mar-2021

t2 = dateshift(t,'dayofweek','Friday',1:3)
t2 = 1x3 datetime
   26-Mar-2021   02-Apr-2021   09-Apr-2021

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

свернуть все

Введите дату и время в виде datetime массив.

Модуль времени в виде одного из следующих значений:

  • 'year'

  • 'quarter'

  • 'month'

  • 'week'

  • 'day'

  • 'hour'

  • 'minute'

  • 'second'

Пример: t2 = dateshift(t,'start','hour')

Пример: t2 = dateshift(t,'end','month')

День недели в виде скалярного целого числа, указывающего на день номера недели, или вектор символов или строковый скаляр, содержащий локализованное дневное имя.

Пример: t2 = dateshift(t,'dayofweek','Sunday')

Пример: t2 = dateshift(t,'dayofweek',1)

Управляйте для сдвига datetime значения в виде 'next', 'previous'самый близкий, 'current', скалярное целое число или массив целых чисел.

Таблица описывает правила для сдвига datetime значения.

ПравилоОписание

'next'

Переключите datetime значение к следующему модулю времени или заданного дня недели.

Примечание: Это правило является правилом по умолчанию для 'dayofweek' входной параметр.

'previous'

Переключите datetime значение к предыдущему модулю времени или заданного дня недели.

'nearest'

Переключите datetime значение к самому близкому вхождению модуля времени или заданного дня недели.

В действительности это правило округляет datetime значения.

'current'

Переключите datetime значение в текущем модуле времени, или к заданному дню в течение текущей недели.

Примечание: Это правило является правилом по умолчанию для 'start' и 'end' входные параметры.

1

Эквивалентный 'next' правило.

n, где n> 1

Эквивалентный 'next' управляйте применил n \times.

0

Эквивалентный 'current' правило.

-1

Эквивалентный 'previous' правило.

-n, где n> 1

Эквивалентный 'previous' управляйте применил n \times.

Массив целых чисел

Сдвиги каждое значение в t согласно правилу, заданному соответствующим целым числом в rule.

Входные параметры t и rule должен иметь тот же размер, или один из них должен быть скаляром.

Поведение, когда datetime Соответствие значений 'dayofweek' Аргумент

Если вы задаете 'dayofweek' и t содержит datetime значения, которые падают в заданный день недели, затем dateshift обработки те datetime значения как следующие или предыдущие случаи заданного дня недели.

Например, dateshift (datetime (2015,12,24), 'dayofweek', в 'четверг', rule) возвращает datetime значение с датой от 24 декабря 2015, если rule 'next', 'previous'самый близкий, 1, или -1, потому что 24 декабря 2015 четверг.

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

Смотрите также

|

Введенный в R2014b