datenum

Преобразуйте дату и время в последовательный номер даты

Описание

пример

Примечание

В то время как последовательные числа даты могут представлять даты и времена, рекомендуется, чтобы вы использовали datetime значения, чтобы представлять моменты времени, и duration или calendarDuration значения, чтобы представлять прошедшие времена.

DateNumber = datenum(t) преобразует datetime или duration значения во входном массиве t к последовательным числам даты.

Последовательный номер даты представляет целый и дробный номер дней от фиксированного, заранее назначенная дата (январь 0, 0000) в преждевременном календаре ISO.

DateNumber = datenum(DateString) преобразует текст, представляющий даты и времена последовательным числам даты. Если формат, используемый в тексте, известен, задайте формат как formatIn. Синтаксисы без formatIn значительно медленнее, чем синтаксисы, которые включают его.

пример

DateNumber = datenum(DateString,formatIn) использование formatIn интерпретировать даты и времена, представленные DateString.

DateNumber = datenum(DateString,PivotYear) использование PivotYear интерпретировать текст, который задает год как два символа. Если формат, используемый в тексте, известен, задайте формат как formatIn. Синтаксисы без formatIn значительно медленнее, чем синтаксисы, которые включают его.

пример

DateNumber = datenum(DateString,formatIn,PivotYear) использование formatIn интерпретировать даты и времена, представленные DateString, и PivotYear интерпретировать текст, который задает год как два символа. Можно задать formatIn и PivotYear в любом порядке.

пример

DateNumber = datenum(DateVector) преобразует векторы даты в последовательные числа даты и возвращает вектор-столбец m числа даты, где m общее количество векторов даты в DateVector.

пример

DateNumber = datenum(Y,M,D) возвращает последовательные числа даты для соответствующих элементов YM, и D (год, месяц, день) массивы. Массивы должны быть одного размера (или любой может быть скаляром). Также можно задать входные параметры как вектор даты, [Y,M,D].

DateNumber = datenum(Y,M,D,H,MN,S) дополнительно возвращает последовательные числа даты для соответствующих элементов Hm, n , и S (час, минута, и второй) массивы. Массивы должны быть одного размера (или любой может быть скаляром). Также можно задать входные параметры как вектор даты, [Y,M,D,H,MN,S].

Примеры

свернуть все

format long 

t = [datetime('now');datetime('tomorrow')]
t = 2x1 datetime
   23-Mar-2021 16:57:17
   24-Mar-2021 00:00:00

DateNumber = datenum(t)
DateNumber = 2×1
105 ×

   7.382387064508711
   7.382390000000000

DateString = '19-May-2001';
formatIn = 'dd-mmm-yyyy';
datenum(DateString,formatIn)
ans = 730990

datenum возвращает номер даты для текста, представляющего дату с форматом 'dd-mmm-yyyy'.

Передайте несколько дат как векторы символов в массиве ячеек. Все входные даты должны использовать тот же формат.

DateString = {'09/16/2007';'05/14/1996';'11/29/2010'};
formatIn = 'mm/dd/yyyy';
datenum(DateString,formatIn)
ans = 3×1

      733301
      729159
      734471

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

n = datenum('12-jun-17','dd-mmm-yy')
n = 736858

Текстом, который представляет этот номер даты, является '12-Jun-2017'.

Преобразуйте тот же текст в последовательный номер даты с помощью 1 400 как год центра.

n = datenum('12-jun-17','dd-mmm-yy',1400)
n = 517712

Текстом, который представляет этот номер даты, является '12-Jun-1417'.

datenum([2009,4,2,11,7,18])
ans = 7.3387e+05

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

n = datenum(2001,12,19)
n = 731204

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

свернуть все

Даты и времена в виде массива datetime или duration значения. datenum функция не составляет информацию о часовом поясе в t и не настраивает datetime значения, которые происходят в течение Летнего времени. Таким образом, datenum обрабатывает TimeZone свойство datetime массивы как пустые и преобразуют остающуюся информацию о дате и времени в последовательный номер даты.

Типы данных: datetime | duration

Векторы даты в виде m- 6 или m- 3 матрицы, содержащие m полные или частичные векторы даты, соответственно. Полный вектор даты имеет шесть элементов, задавая год, месяц, день, час, минуту, и во-вторых, в том порядке. Частичный вектор даты имеет три элемента, задавая год, месяц и день, в том порядке. Каждый элемент DateVector должно быть положительное или отрицательное целочисленное значение за исключением элемента секунд, который может быть дробным. Если элемент выходит за пределы обычной области значений, datenum настраивает и тот элемент вектора даты и предыдущий элемент. Например, если мелким элементом является 70то datenum настраивает элемент часов 1 и устанавливает мелкий элемент на 10. Если мелким элементом является-15то datevec уменьшает элемент часов 1 и устанавливает мелкий элемент на 45. Значения месяца являются исключением. datenum функция устанавливает значения месяца меньше, чем 1 к 1.

Пример: [2003,10,24,12,45,07]

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

Текст, представляющий даты и времена в виде символьного массива, где каждая строка содержит текст, представляющий один момент времени как вектор ячейки из векторов символов, или как вектор строки. Все строки символьного массива или все элементы вектора ячейки или вектора строки, должны иметь тот же формат.

Пример: '24-Oct-2003 12:45:07'

Пример: ['19-Sep-2013';'20-Sep-2013';'21-Sep-2013']

Пример: {'15-Oct-2010' '20-Nov-2012'}

Если формат, используемый в тексте, известен, необходимо также задать formatIn. Если вы не задаете formatIn, затем DateString должен быть в одном из следующих форматов.

Формат текста, представляющего даты и времена

Пример

'dd-mmm-yyyy HH:MM:SS'

01-Mar-2000 15:45:17

'dd-mmm-yyyy'

01-Mar-2000

'mm/dd/yyyy'

03/01/2000

'mm/dd/yy'

03/01/00

'mm/dd'

03/01

'mmm.dd,yyyy HH:MM:SS'

Mar.01,2000 15:45:17

'mmm.dd,yyyy'

Mar.01,2000

'yyyy-mm-dd HH:MM:SS'

2000-03-01 15:45:17

'yyyy-mm-dd'

2000-03-01

'yyyy/mm/dd'

2000/03/01

'HH:MM:SS'

15:45:17

'HH:MM:SS PM'

3:45:17 PM

'HH:MM'

15:45

'HH:MM PM'

3:45 PM

Примечание

Символьные идентификаторы, описывающие форматы даты и времени, отличаются от тех, которые описывают форматы отображения datetime массивы.

Определенные форматы не могут содержать достаточно информации, чтобы преобразовать текстовые представления дат и времен. В тех случаях, часы, минуты, и значение по умолчанию секунд к 0, дневное значение по умолчанию к 1, значение по умолчанию месяцев до января и значение по умолчанию лет к текущему году. datevec и datenum рассмотрите 2D символьные годы (например, '79') находиться в пределах 100-летней области значений, сосредоточенной около текущего года.

Когда вы не задаете formatIn, отметьте следующее:

  • Для форматов, которые задают месяц как две цифры (mm), значение месяца не должно быть больше 12.

  • Однако для формата 'mm/dd/yy', если первая запись в тексте больше 12, и вторая запись меньше чем или равна 12, то datenum полагает, что текст находится в 'yy/mm/dd' формат.

Формат входного текста, представляющего даты и времена в виде вектора символов или строкового скаляра символьных идентификаторов.

Пример: 'dddd, mmm dd, yyyy'

Следующая таблица показывает символьные идентификаторы, что можно использовать, чтобы создать formatIn символьный вектор. Можно включать символы, такие как дефис, пробел или двоеточие, чтобы разделить поля.

Примечание

Символьные идентификаторы, описывающие форматы даты и времени, отличаются от идентификаторов, которые описывают форматы отображения datetime массивы.

Символьный идентификатор

Описание

Пример

yyyy

Год полностью

1990, 2002

yy

Год в двух цифрах

90, 02

QQ

Год четверти с помощью буквы Q и одна цифра

Q1

mmmm

Месяц с помощью полного имени

March, December

mmm

Месяц с помощью сначала три буквы

Mar, Dec

mm

Месяц в двух цифрах

03, 12

m

Месяц с помощью использовал для своей выгоды первую букву

MD

dddd

День с помощью полного имени

Monday, Tuesday

ddd

День с помощью сначала три буквы

Mon, Tue

dd

День в двух цифрах

05, 20

d

День с помощью использовал для своей выгоды первую букву

MT

HH

Час в двух цифрах
(никакие начальные нули, когда символьный идентификатор AM или PM используется),

05, 5 AM

MM

Минута в двух цифрах

12, 02

SS

Второй в двух цифрах

07, 59

FFF

Миллисекунда в трех цифрах

057

AM or PM

AM или PM вставленный в текст, представляющий время

3:45:02 PM

formatIn значение должно следовать этим инструкциям:

  • Вы не можете задать поле несколько раз. Например, вы не можете использовать 'yy-mmm-dd-m' потому что это имеет двухмесячные идентификаторы. Одно исключение к этому - то, что можно объединить один экземпляр dd с одним экземпляром любого из на днях идентификаторов. Например, 'dddd mmm dd yyyy' допустимый вход.

  • Когда вы используете AM или PM, HH поле также требуется.

  • Только можно использовать QQ один или со спецификатором года.

Запустите год 100-летнего диапазона дат, в котором 2D символьный год находится в виде целого числа. Используйте год центра, чтобы интерпретировать даты, которые задают год как два символа.

Если formatIn содержит время суток, год центра вычисляется с текущего времени текущего дня, месяца и года. В противном случае это вычисляется с полуночи текущего дня, месяца и года.

Пример: 2000

Примечание

Если входной формат даты задает год с четырьмя символами, то последние два символа являются усеченными, и первые два символа задают год. Например, если дата и год центра задана как ('25122015','ddmmyyyy',2000), затем получившейся датой является 25-12-2020, не 25-12-2015.

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

Год, месяц и дневные массивы, заданные как числовые массивы. Эти массивы должны быть одного размера, или любой может быть скаляром. Значения в Y,M,D должны быть целочисленные значения.

Если Y,M,D все скаляры или все вектор-столбцы, можно задать входные параметры как вектор даты, [Y,M,D].

Пример: 2003,10,24

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

Год, месяц, день, час, минута и вторые массивы, заданные как числовые массивы. Эти массивы должны быть одного размера, или любой может быть скаляром. datenum не принимает миллисекунды как отдельный вход, но когда дробная часть секунд ввела, S. Значения в Y,M,D,H,MN должны быть целочисленные значения.

Если Y,M,D,H,MN,S все скаляры или все вектор-столбцы, можно задать входные параметры как вектор даты, [Y,M,D,H,MN,S].

Пример: 2003,10,24,12,45,07.451

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

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

свернуть все

Последовательные числа даты, возвращенные как вектор-столбец длины m, где m общее количество входных векторов даты или векторов символов, представляющих даты и времена.

Советы

  • Чтобы создать выход произвольной формы, используйте datenum(Y,M,D) и datenum(Y,M,D,H,MN,S) синтаксисы. datenum(DateVector) синтаксис создает только вектор-столбец чисел даты.

    datenum(2013,[1 3; 2 4],ones(2,2))
    ans =
    
          735235      735294
          735266      735325

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

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