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) возвращает серийные номера дат для соответствующих элементов Y, M, и D (год, месяц, день) массивы. Массивы должны иметь тот же размер (или любой может быть скаляром). Можно также задать входные параметры в качестве вектора даты, [Y,M,D].

DateNumber = datenum(Y,M,D,H,MN,S) дополнительно возвращает серийные номера дат для соответствующих элементов H, MN, и 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'.

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

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-by-6 или m-by-3 матрица, содержащая m полный или частичный векторы дат, соответственно. Полный вектор даты имеет шесть элементов, задающих год, месяц, день, час, минуту и секунду в этом порядке. Вектор частичной даты имеет три элемента, задающих год, месяц и день в этом порядке. Каждый элемент DateVector должно быть положительным или отрицательным целым значением, за исключением элемента seconds, который может быть дробным. Если элемент падает за пределы обычной области значений, datenum настраивает и этот элемент вектора дат, и предыдущий элемент. Для примера, если элемент minutes 70, затем datenum настраивает элемент часов по 1 и устанавливает элемент minutes на 10. Если элемент minutes является - 15, затем datevec уменьшает элемент часов на 1 и устанавливает элемент minutes на 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 учитывайте двухсимвольные годы (например '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

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

M, D

dddd

День с использованием полного имени

Monday, Tuesday

ddd

День с использованием первых трех букв

Mon, Tue

dd

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

05, 20

d

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

M, T

HH

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

05, 5 AM

MM

Минута двумя цифрами

12, 02

SS

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

07, 59

FFF

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

057

AM or PM

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

3:45:02 PM

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

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

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

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

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

Если 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) синтаксисы. The datenum(DateVector) синтаксис создает только вектор-столбец номеров дат.

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

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

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