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', 'nearest', 'current', скалярное целое число или массив целых чисел.

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

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

'next'

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

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

'previous'

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

'nearest'

Сдвиг datetime значение до ближайшего вхождения модуля времени или заданного дня недели.

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

'current'

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

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

1

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

n, где n > 1

Эквивалентно 'next' правило применяется n времени.

0

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

-1

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

-n, где n > 1

Эквивалентно 'previous' правило применяется n времени.

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

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

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

Поведение при datetime Значения соответствуют 'dayofweek' Аргумент

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

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

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

См. также

|

Введенный в R2014b
Для просмотра документации необходимо авторизоваться на сайте