datetime

Массивы, которые представляют точки во времени

Описание

The datetime тип данных представляет точки времени, такие как 24 августа 2020, 10:50:30 A datetime массив задает год, месяц, день, час, минуту и вторые компоненты, сопоставленные с каждой точкой времени, хранящимся в массиве (используя пролептический ISO-календарь).

Кроме того, datetime массивы обеспечивают:

  • Гибкие форматы для выхода отображения и входа анализа текста.

  • Хранение на дробные секунды до наносекундной точности.

  • Свойства для расчета часовых поясов, дневного сохранения времени и високосных секунд.

Создание

Описание

t = datetime возвращает скалярное datetime массив, соответствующий текущей дате и времени.

пример

t = datetime(relativeDay) использует дату, заданную как relativeDay. The relativeDay можно 'today', 'tomorrow', 'yesterday', или 'now'.

t = datetime(DateStrings) создает массив значений datetime из текста в DateStrings представление точек во времени.

пример

t = datetime(DateStrings,'InputFormat',infmt) интерпретирует DateStrings использование формата, заданного infmt. Все значения в входной параметр DateStrings должен иметь тот же формат.

Чтобы избежать неоднозначностей между аналогичными форматами, задайте 'InputFormat' и его соответствующее значение, infmt.

Управление форматом отображения t, задайте 'Format' Аргумент пары "имя-значение", или установите Format свойство t.

пример

t = datetime(DateVectors) создает вектор-столбец значений datetime из векторов дат в DateVectors.

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

t = datetime(Y,M,D,H,MI,S) также создает H, MI, и S (часовой, минутный и второй) массивы. Все массивы должны иметь одинаковый размер (или любой может быть скаляром). Можно также задать входные параметры в качестве вектора даты, [Y M D H MI S].

t = datetime(Y,M,D,H,MI,S,MS) добавляет MS массив (миллисекунда). Все массивы должны иметь одинаковый размер (или любой может быть скаляром).

пример

t = datetime(X,'ConvertFrom',dateType) преобразует числовые значения в X в datetime массивы направленности t. The dateType аргумент задает тип значений в X.

Если X содержит POSIX® times или Julian dates, которые представляют локальное время, затем укажите соответствующий часовой пояс для t использование 'TimeZone' аргумент пары "имя-значение". Если вы не задаете часовой пояс, то время POSIX или даты Юлиана в X рассматриваются как время UTC, а не как локальное время.

t = datetime(___,Name,Value) задает дополнительные опции, используя один или несколько аргументы пары "имя-значение", в дополнение к любому из входных параметров в предыдущих синтаксисах. Для примера можно задать формат отображения t использование 'Format' аргумент пары "имя-значение".

Для наилучшей эффективности при создании значений datetime из текста задайте 'Format' или 'InputFormat' и его соответствующее значение, infmt.

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

расширить все

День относительно текущей даты, заданный как одно из следующих значений.

Значение relativeDayОписание
'yesterday'Дата предыдущего дня, в полночь
'today'Текущая дата, в полночь
'tomorrow'Дата следующего дня, в полночь
'now'Текущие дата и время

Текст, представляющий даты и времена, заданный как символьный массив, массив ячеек из векторов символов или строковые массивы. datetime функция сначала пытается соответствовать формату DateStrings к общим форматам. Если вы знаете формат, задайте 'InputFormat' и его соответствующие infmt значение, или 'Format' аргумент пары "имя-значение".

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

Пример: {'15-Oct-2013','20-Nov-2014'}

Пример: ["11-Nov-2016","12-Dec-2016"]

Типы данных: char | cell | string

Формат текста входа, представляющего даты и времена, заданный как вектор символов или строковый скаляр, содержащий идентификаторы букв:

  • Если infmt не включает спецификатор даты, тогда datetime принимает, что значения в DateStrings происходят в течение текущего дня.

  • Если infmt не включает спецификатор времени, тогда datetime принимает, что значения в DateStrings происходят в полночь.

Эта таблица показывает несколько распространенных форматов входа и включает примеры форматированных входов на дату, субботу, 19 апреля 2014 г., в 9:41: 06.12345 PM в Нью-Йорке.

Значение infmtПример
'yyyy-MM-dd'2014-04-19
'dd/MM/yyyy'19/04/2014
'dd.MM.yyyy'19.04.2014
'yyyy年 MM月 dd日'2014年 04月 19日 (Символы для японской локали, ja_JP)
'MMMM d, yyyy'April 19, 2014
'eeee, MMMM d, yyyy h:mm a'Saturday, April 19, 2014 9:41 PM
'MMMM d, yyyy HH:mm:ss Z'April 19, 2014 21:41:06 -0400
'yyyy-MM-dd''T''HH:mmXXX'2014-04-19T21:41-04:00
'yyyy-MM-dd HH:mm:ss.SSS'2014-04-19 21:41:06.123

Для входного текста, который представляет дробные секунды, можно задать infmt до девяти S символы для указания дробных вторых цифр. Для примера, 'yyyy-MM-dd HH:mm:ss.SSS' - формат для текста, который представляет точность дат и времени до миллисекунды.

Полный список допустимых идентификаторов букв см. в Format свойство для массивов datetime.

Примечание

Идентификаторы букв, которые datetime accepts отличаются от идентификаторов, используемых в datestr, datenum, и datevec функций.

Типы данных: char | string

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

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

Пример: [2014 10 24]

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

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

  • Если элемент Y, M, или D входы падают вне обычной области значений, тогда datetime настраивает и этот элемент, и тот же элемент предыдущего входа. Для получения дополнительной информации см. описание DateVectors входной параметр.

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

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

  • Если элемент Y, M, D, H, MI, или S входы падают вне обычной области значений, тогда datetime настраивает и этот элемент, и тот же элемент предыдущего входа. Для получения дополнительной информации см. описание DateVectors входной параметр.

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Если элемент Y, M, D, H, MI, S, или MS входы падают вне обычной области значений, тогда datetime настраивает и этот элемент, и тот же элемент предыдущего входа. Для получения дополнительной информации см. описание DateVectors входной параметр.

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Числовые значения, заданные как массив.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Тип значений в X, заданный как одно из следующих значений.

Значение dateType

Тип значений в X

'datenum'

Количество дней с момента 0-Jan-0000 (пролептический календарь ISO).

'excel'

Количество дней с момента 0-Jan-1900.

Excel® номера дат округлены до ближайшей микросекунды.

Примечание: Excel неправильно принимает, что 1900 год является високосным. Поэтому при вычислении номеров дат Excel происходит разрыв одного дополнительного дня между 28 февраля 1900 года и 1 марта 1900 года.

'excel1904'

Количество дней с момента 0-Jan-1904.

Номера дат Excel округлены до ближайшей микросекунды.

Примечание: Excel неправильно принимает, что 1900 год является високосным. Поэтому при вычислении номеров дат Excel происходит разрыв одного дополнительного дня между 28 февраля 1900 года и 1 марта 1900 года.

'juliandate'

Количество дней с полудня UTC 24-Nov-4714 BCE (пролептический григорианский календарь).

Если вы преобразовываете X в datetime массив без указания часового пояса, затем datetime значения представляют время UTC, а не локальное время. Чтобы представлять локальное время, задайте часовой пояс, используя 'TimeZone' аргумент пары "имя-значение".

Пример: Преобразуйте X использование часового пояса для Нью-Йорка.

T = datetime(X,'ConvertFrom','juliandate',...
'TimeZone','America/New_York')

Затем можно преобразовать T незазониванному datetime массив, представляющий локальное время, путем назначения пустого символьного вектора TimeZone.

T.TimeZone = ''

'modifiedjuliandate'

Количество дней с полуночи по 17-Nov-1858 UTC.

Если вы преобразовываете X в datetime массив без указания часового пояса, затем datetime значения представляют время UTC, а не локальное время. Чтобы представлять локальное время, задайте часовой пояс, используя 'TimeZone' аргумент пары "имя-значение".

Пример: Преобразуйте X использование часового пояса для Нью-Йорка.

T = datetime(X,'ConvertFrom','modifiedjuliandate',...
'TimeZone','America/New_York')

Затем можно преобразовать T незазониванному datetime массив, представляющий локальное время, путем назначения пустого символьного вектора TimeZone.

T.TimeZone = ''

'posixtime'

Количество секунд с 1-Jan-1970 00:00:00 UTC, не считая високосных секунд.

Если вы преобразовываете X в datetime массив без указания часового пояса, затем datetime значения представляют время UTC, а не локальное время. Чтобы представлять локальное время, задайте часовой пояс, используя 'TimeZone' аргумент пары "имя-значение".

Пример: Преобразуйте X использование часового пояса для Нью-Йорка.

T = datetime(X,'ConvertFrom','posixtime',...
'TimeZone','America/New_York')

Затем можно преобразовать T незазониванному datetime массив, представляющий локальное время, путем назначения пустого символьного вектора TimeZone.

T.TimeZone = ''

'yyyymmdd'

Даты как числовые значения YYYMMDD. Для примера, 20140402 представляет 2 апреля 2014 года.

'ntp'

Количество «тактов» с 1-Jan-1900 00:00:00 UTC, где каждый такт составляет 2 ^ -32 секунды.

'.net'

Количество «тактовых тактов» с 1-Jan-0001 00:00:00 UTC, где каждый тактовый переключатель составляет 100 нс.

'ntfs'

Количество «тактовых тактов» с 1-Jan-1601 00:00:00 UTC, где каждый тактовый переключатель составляет 100 нс.

'epochtime', 'Epoch', epochValue

Количество секунд с эпохи.

Вы также должны задать epochValue, который является скалярным datetime, или вектор символов или строковый скаляр, представляющий эпохальное время.

Пример: Верните количество дней с 1 января 2000 года.

T = datetime(X,'ConvertFrom',...
'epochtime','Epoch','2000-01-01')

'epochtime', 'Epoch', epochValue, 'TicksPerSecond', n

Количество «тактовых тактов» с эпохи.

В дополнение к указанию epochValue, можно также задать n, которое является скаляром целым числом, которое задает количество «тактовых тактов» в секунду.

Пример: Верните количество дней с 1 января 2000 года, где X представляет время в миллисекундах с этой даты или до нее.

T = datetime(X,'ConvertFrom',...
'epochtime','Epoch','2000-01-01','TicksPerSecond',1000)

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'Format','eeee MMMM d, y','TimeZone','local' применяет формат отображения к значениям datetime и задает локальный часовой пояс.

Формат отображения значений в массиве выхода, заданный как разделенная запятой пара, состоящий из 'Format' и одно из следующих значений.

Значение FormatОписание

'default'

Используйте формат отображения по умолчанию.

'preserveinput'

Используйте формат, заданный форматом входа, infmt. Если вы не задаете infmt, затем datetime определяет формат автоматически.

вектор символов или строковый скаляр

Используйте формат, заданный с вектор символов или строкового скаляра.

Если вы задаете свой собственный формат, то необходимо использовать действительные идентификаторы букв. Полный список допустимых идентификаторов букв см. в Format свойство.

Формат по умолчанию зависит от локали системы. Для изменения формата отображения по умолчанию см. раздел Формат datetime по умолчанию.

Если вы задаете DateStrings введите, но не задайте 'InputFormat' параметр, затем datetime пытается использовать Format значение для интерпретации DateStrings.

Пример: 'Format','eeee, MMMM d, yyyy HH:mm:ss' отображает дату и время, такие как Wednesday, April 9, 2014 21:41:06.

Типы данных: char | string

Локаль DateStrings входные параметры, заданные как разделенная разделенными запятой парами, состоящая из 'Locale' и вектор символов или строковый скаляр. The Locale значение определяет, как datetime интерпретирует DateStrings. Однако это не определяет, как выход datetime отображение значений.

The Locale значение может быть:

  • 'system', для определения локали системы.

  • Вектор символов или строковый скаляр в форме xx_ YY, где xx является строчным двухбуквенным кодом ISO 639-1, который задает язык и YY является заглавным кодом ISO 3166-1 альфа-2, который задает страну.

В этой таблице перечислены некоторые общие значения для локали.

Локаль ЯзыкСтрана
'de_DE'Немецкий языкГермания
'en_GB'Английский языкВеликобритания
'en_US'Английский языкСША
'es_ES'Испанский языкИспания
'fr_FR'Французский языкФранция
'it_IT'Итальянский языкИталия
'ja_JP'Японский языкЯпония
'ko_KR'Корейский языкКорея
'nl_NL'Нидерландский языкНидерланды
'zh_CN'Китайский (упрощенный)Китай

Можно использовать 'Locale' Пара "имя-значение" только, когда вы используете DateStrings входной параметр.

Пример: 'Locale','de_DE'

Примечание

The Locale значение определяет, как интерпретируются входные текстовые значения. Выходные значения datetime всегда отображаются на языке, заданном опцией Locale в разделе Datetime format окна Preferences.

Типы данных: char | string

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

Можно использовать 'PivotYear' Пара "имя-значение" только, когда вы используете DateStrings входной параметр.

Пример: 'PivotYear',1900

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Часовой пояс, заданный как разделенная разделенными запятой парами, состоящая из 'TimeZone' и вектор символов или строковый скаляр, который задает часовой пояс.

The datetime функция использует значение 'TimeZone' интерпретировать входные данные и установить TimeZone свойство выходного массива. Если входные данные являются векторами символов или строками, которые включают часовой пояс, то datetime функция преобразует все значения в заданный часовой пояс.

Для получения дополнительной информации и списка часовых поясов смотрите TimeZone свойство.

Типы данных: char | string

Свойства

расширить все

Формат отображения, заданный как 'default', вектор символов или строковый скаляр.

Значение FormatОписание

'default'

Используйте формат отображения по умолчанию.

вектор символов или строковый скаляр

Используйте формат, заданный с вектор символов или строкового скаляра.

Если вы задаете свой собственный формат, то он должен использовать действительные идентификаторы букв, которые соответствуют Юникоду® Язык разметки данных локали (LDML) стандарт для дат и времени.

Пример: 'eeee, MMMM d, yyyy HH:mm:ss' отображает дату и время, такие как Wednesday, April 9, 2014 21:41:06.

Для разделения полей можно включать небукву символы, такие как дефис, пространство, двоеточие или любые символы, отличные от ASCII. Чтобы включить буквы A-Z и a-z как буквальные символы в формате, заключайте их в одинарные кавычки.

Пример: 'uuuu-MM-dd''T''HH:mm:ss' отображает дату и время, например 2014-04-09T21:41:06.

Примечание

Идентификаторы букв, которые datetime accepts отличаются от идентификаторов, используемых в datestr, datenum, и datevec функций.

Формат по умолчанию зависит от локали системы. Для изменения формата отображения по умолчанию см. раздел Формат datetime по умолчанию.

Примеры общих форматов

В этой таблице перечислены общие форматы отображения. Примеры показа отформатированные выходы для даты, Среда, 9 апреля 2014 года, в 9:41: 06.12345 PM, в Нью-Йорке.

Значение FormatПример
'yyyy-MM-dd'2014-04-09
'dd/MM/yyyy'09/04/2014
'dd.MM.yyyy'09.04.2014
'yyyy年 MM月 dd日'2014年 04月 09日 (Символы для японской локали, ja_JP)
'MMMM d, yyyy'April 9, 2014
'eeee, MMMM d, yyyy h:mm a'Wednesday, April 9, 2014 9:41 PM
'MMMM d, yyyy HH:mm:ss Z'April 9, 2014 21:41:06 -0400
'yyyy-MM-dd''T''HH:mmXXX'2014-04-09T21:41-04:00
'yyyy-MM-dd HH:mm:ss.SSS'2014-04-09 21:41:06.123

Все форматы даты и времени

Используйте эти идентификаторы для определения форматов отображения полей даты и времени. Форматы отображения показа выхода для даты, Среда, 9 апреля 2014 в 9:41: 06.12345, в Нью-Йорке.

Идентификатор буквыОписаниеОтображение
GЭраCE
yГод, без ведущих нулей. См. примечание, которое следует за этой таблицей.2014
yyГод, использование последних двух цифр. См. примечание, которое следует за этой таблицей.14
yyy, yyyy ...Год, используя по крайней мере количество цифр, заданное количеством образцов 'y'За 2014 год, 'yyy' отображает 2014, в то время как 'yyyyy' отображает 02014.
u, uu, ...ISO год. Один номер, обозначающий год. Значение года ISO присваивает положительные значения годам CE и отрицательные значения годам BCE, при этом 1 BCE является годом 0.2014
QКвартал, с использованием одной цифры2
QQКвартал, с использованием двух цифр02
QQQКвартал, сокращённоQ2
QQQQКвартал, полное имя2nd quarter
MМесяц, численный с использованием одной или двух цифр4
MMМесяц, численный с использованием двух цифр04
MMMМесяц, сокращенное имяApr
MMMMМесяц, полное имяApril
MMMMMМесяц, заглавная первая букваA
WНеделя месяца, использование одной цифры2
dДень месяца, использование одной или двух цифр9
ddДень месяца с использованием двух цифр09
DДень года, использование одной, двух или трех цифр99
DDДень года с использованием двух цифр99
DDDДень года с использованием трех цифр099
eДень недели (численный, с использованием одной или двух цифр)4, где воскресенье - первый день недели.
eeДень недели (численный, с использованием двух цифр)04
eeeДень, сокращенное имяWed
eeeeДень, полное имяWednesday
eeeeeДень, заглавная первая букваW
aДневной период (AM или PM)PM
hЧасовое, 12-часовое обозначение с использованием одной или двух цифр9
hhЧасовое, 12-часовое обозначение часов с использованием двух цифр09
HЧасовое, 24-часовое обозначение с использованием одной или двух цифр21
HHЧасовое, 24-часовое обозначение с использованием двух цифр21
mМинута, использование одной или двух цифр41
mmМинута, использование двух цифр41
sВо-вторых, использование одной или двух цифр6
ssВо-вторых, использование двух цифр06
S, SS..., SSSSSSSSSДробная секунда, с использованием количества цифр, заданного количеством образцов 'S' (до 9 цифр).'SSS' обрезает 6.12345 секунд до 6.123.

Примечание

  • Если вы читаете двухзначный номер года и задаете формат следующим y или yy, затем опорный год определяет век, которому принадлежит год.

  • Если вы читаете номер дня года и задаете формат, содержащий идентификаторы для обоих дней года (D) и Григорианского года (y), затем datetime возможно, номер дня года считан неправильно. Использование года ISO (u) вместо y.

  • Используйте одну или несколько u символы вместо y символы для представления года при работе с номерами лет около нуля.

  • Значения datetime позднее 144683 лет CE или до 140743 BCE отображают только номера лет, независимо от заданного Format значение.

Форматы смещения часового пояса

Используйте эти идентификаторы, чтобы задать формат отображения смещения часового пояса. Смещение часового пояса - это количество времени, в течение которого определенное datetime смещается от UTC. Часовой пояс имеет правила для определения смещения часового пояса, и смещение может отличаться в разное время года. Включите идентификатор смещения часового пояса в формат отображения для массива datetime, когда необходимо убедиться, что компоненты времени отображаются однозначно.

Идентификатор буквыОписаниеОтображение
zСокращенное имя смещения часового пояса. Если это значение недоступно, смещение часового пояса использует короткий формат UTC, такой как UTC-4.EDT
ZБазовый формат ISO 8601 с полями часов, минут и необязательных секунд.-0400
ZZZZДлинный формат UTC.UTC-04:00
ZZZZZРасширенный формат ISO 8601 с полями часов, минут и дополнительных секунд. Смещение нуля по времени отображается как индикатор ISO 8601 UTC «Z».-04:00
x или XISO 8601 базовый формат с полем часов и полем дополнительных минут. Если вы задаете Xзатем смещение нуля по времени отображается как индикатор ISO 8601 UTC «Z».-04
xx или XXISO 8601 базовый формат с часами и минутами полей. Если вы задаете XXзатем смещение нуля по времени отображается как индикатор ISO 8601 UTC «Z».-0400
xxx или XXXISO 8601 расширенный формат с полями часов и минут. Если вы задаете XXXзатем смещение нуля по времени отображается как индикатор ISO 8601 UTC «Z».-04:00
xxxx или XXXXБазовый формат ISO 8601 с полями часов, минут и необязательных секунд. Если вы задаете XXXXзатем смещение нуля по времени отображается как индикатор ISO 8601 UTC «Z».-0400
xxxxx или XXXXXРасширенный формат ISO 8601 с полями часов, минут и дополнительных секунд. Если вы задаете XXXXXзатем смещение нуля по времени отображается как индикатор ISO 8601 UTC «Z».-04:00

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

Чтобы задать часовой пояс и вычислить смещения часового пояса, datetime тип данных использует код и данные, предоставляемые IANA в базе данных временных зон IANA. Версия, используемая в настоящее время datetime включает последние обновления IANA. (Чтобы получить версию, используемую datetime, верните второй выход timezones функцию.)

Значение TimeZone могут быть:

  • '', для создания «незазонитого» datetime массив, который не принадлежит определенному часовому поясу.

  • Имя области часового пояса из базы данных часового пояса IANA; для примера, 'America/Los_Angeles'. Имя области часового пояса учитывает текущие и исторические правила для стандартных и дневных смещений от UTC, которые наблюдаются в географической области.

  • Вектор символов ISO 8601 вида +HH:mm или -HH:mm; для примера, '+01:00', чтобы задать часовой пояс, который является фиксированным смещением от UTC.

  • 'UTC', для создания datetime массив за универсальное скоординированное время.

  • 'UTCLeapSeconds', для создания datetime массив в универсальном скоординированном времени, на который приходится високосное время. Список секунд скачка, поддерживаемых datetime тип данных, см. leapseconds.

  • 'local', для создания datetime массив в системном часовом поясе. Когда вы запрашиваете TimeZone свойство, возвращается значение IANA.

В этой таблице перечислены некоторые общие имена областей часовых поясов из базы данных временных зон IANA.

Значение TimeZoneСмещение UTCСмещение UTC DST
'Africa/Johannesburg'+02:00+02:00
'America/Chicago'−06:00−05:00
'America/Denver'−07:00−06:00
'America/Los_Angeles'−08:00−07:00
'America/New_York'−05:00−04:00
'America/Sao_Paulo'−03:00−02:00
'Asia/Hong_Kong'+08:00+08:00
'Asia/Kolkata'+05:30+05:30
'Asia/Tokyo'+09:00+09:00
'Australia/Sydney'+10:00+11:00
'Europe/London'+00:00+01:00
'Europe/Zurich'+01:00+02:00

Типы данных: char | string

Номер года для каждого значения в datetime массив, заданный как числовой массив, имеющий тот же размер и форму, что и datetime массив. Число каждого года является целым значением на основе календаря ISO. Годы в нынешнюю эпоху положительны, а годы в предыдущую эпоху нулевые или отрицательные. Для примера число лет 1 BCE составляет 0.

Если вы задаете Year свойство для нежирного года для datetime значение, которое происходит в високосный день (29 февраля), затем Day и Month свойства изменяются на 1 марта.

Номер месяца для каждого значения в datetime массив, заданный как числовой массив, имеющий тот же размер и форму, что и datetime массив. Число каждого месяца является целым значением от 1 до 12. Если вы задаете значение вне этой области значений, то Year свойство корректируется соответственно, и Month свойство находится в области значений от 1 до 12. Например, месяц 0 соответствует месяцу 12 предыдущего года. Для исторических дат номер месяца основан на пролептическом григорианском календаре.

Номер дня месяца для каждого значения в datetime массив, заданный как числовой массив, имеющий тот же размер и форму, что и datetime массив. Каждое число дня месяца является целым числом значений от 1 до 28, 29, 30 или 31, в зависимости от месяца и года. Если вы задаете значение вне этой области значений, то Month и Year свойства регулируются соответственно, и Day свойство остается в соответствующей области значений. Для примера день 0 соответствует последнему дню предыдущего месяца. Для исторических дат номер дня основан на пролептическом григорианском календаре.

Часовое число каждого значения в datetime массив, заданный как числовой массив, имеющий тот же размер и форму, что и datetime массив. Каждое часовое число является целым значением от 0 до 23. Если вы задаете значение вне этой области значений, то Day, Month, и Year свойства регулируются соответственно, и Hour свойство остается в соответствующей области значений. Для примера час -1 соответствует часу 23 предыдущего дня.

Эти условия применяются к массивам datetime с определенным часовым поясом, который следует за дневным сохранением времени:

  • Когда вы задаете значение для Hour свойство, которое создало бы несуществующее значение datetime в часовой погрешности, когда начинается дневное сохранение время, значение Hour свойство адаптируется к следующему часу.

  • Когда вы задаете значение для Hour свойство, которое создало бы неоднозначное значение datetime в часовом перекрытии, когда заканчивается переход на летнее время, datetime настраивается на второе из двух раз (в стандартное время) с этим часом.

Номер минуты каждого значения в datetime массив, заданный как числовой массив, имеющий тот же размер и форму, что и datetime массив. Каждое число минуты является целым значением от 0 до 59. Если вы задаете значение вне этой области значений, то Hour, Day, Month, и Year свойства регулируются соответственно, и Minute свойство остается в соответствующей области значений. Для примера минута -1 соответствует минуте 59 предыдущего часа.

Второй номер каждого значения в datetime массив, заданный как числовой массив, имеющий тот же размер и форму, что и datetime массив. Каждое второе значение является значением с плавающей точкой, обычно лежащим в диапазоне от 0 до менее 60. Если вы задаете значение вне этой области значений, то Minute, Hour, Day, Month, и Year свойства регулируются соответственно, и Second свойство остается в соответствующей области значений. Для примера второй -1 соответствует второй 59 предыдущей минуты.

A datetime массив с TimeZone значение 'UTCLeapSeconds' имеет секунды от 0 до менее 61. Значения от 60 до 61 представляют datetimes, которые происходят во время скачка в секунду. (Список секунд скачка, поддерживаемых datetime тип данных, см. leapseconds.)

Это свойство доступно только для чтения.

Настройка системного часового пояса в виде вектора символов или строкового скаляра. Система, в которой MATLAB® выполняется, определяет эту настройку часового пояса.

Пример: America/New_York

Примеры

свернуть все

Укажите текущую дату и время в локальном системном часовом поясе.

t = datetime('now','TimeZone','local','Format','d-MMM-y HH:mm:ss Z')
t = datetime
   23-Mar-2021 17:02:17 -0400

Укажите текущую дату и время в часовом поясе, представленном Сеулом, Корея

t = datetime('now','TimeZone','Asia/Seoul','Format','d-MMM-y HH:mm:ss Z')
t = datetime
   24-Mar-2021 06:02:17 +0900

Создайте datetime массив из массива ячеек из векторов символов.

DateStrings = {'2014-05-26';'2014-08-03'};
t = datetime(DateStrings,'InputFormat','yyyy-MM-dd')
t = 2x1 datetime
   26-May-2014
   03-Aug-2014

Значения datetime в t отображение с использованием формата по умолчанию, а не формата входных дат.

Начиная с R2016b, можно создавать строковые массивы с string и преобразуйте их в значения datetime.

str = ["2016-03-24","2016-04-19"]
str = 1x2 string
    "2016-03-24"    "2016-04-19"

Преобразуйте строки, задавая вход следующим yyyy-MM-dd. Формат должен быть задан как вектор символов, хотя str являются строковые массивы.

t = datetime(str,'InputFormat','yyyy-MM-dd')
t = 1x2 datetime
   24-Mar-2016   19-Apr-2016

Создайте datetime значение от текста, которое представляет точность даты и времени до миллисекунды. Преобразование текста в формат, который datetime функция не может разобрать без дополнительной информации, задайте 'InputFormat' аргумент пары "имя-значение".

d = '2018-06-25 11:23:37.712';
t = datetime(d,'InputFormat','yyyy-MM-dd HH:mm:ss.SSS')
t = datetime
   25-Jun-2018 11:23:37

Преобразование сохраняет дробные секунды. Однако по умолчанию datetime массивы не отображают дробные секунды. Чтобы отобразить их, задайте либо 'Format' Пара "имя-значение" или Format свойство.

t.Format = 'MMM dd, yyyy HH:mm:ss.SSS'
t = datetime
   Jun 25, 2018 11:23:37.712

The 'InputFormat' аргумент применяется только к преобразованиям из входного текста. The Format свойство задает отображение для любого datetime массив.

Преобразуйте даты в формате ISO 8601 в значения datetime.

Создайте массив ячеек из векторов символов, содержащих даты в формате ISO 8601. В этом формате буква T используется как разделитель, который разделяет дату и время. Каждый вектор символов включает смещение часового пояса. Буква Z указывает на отсутствие смещения от UTC.

DateStrings = {'2014-05-26T13:30-05:00';'2014-08-26T13:30-04:00';'2014-09-26T13:30Z'}
DateStrings = 3x1 cell
    {'2014-05-26T13:30-05:00'}
    {'2014-08-26T13:30-04:00'}
    {'2014-09-26T13:30Z'     }

Преобразуйте векторы символов в значения datetime. При указании формата входа заключайте букву T в одинарные кавычки, чтобы указать, что она является буквальным символом. Задайте часовой пояс выходного массива datetime с помощью TimeZone аргумент пары "имя-значение".

t = datetime(DateStrings,'InputFormat','uuuu-MM-dd''T''HH:mmXXX','TimeZone','UTC')
t = 3x1 datetime
   26-May-2014 18:30:00
   26-Aug-2014 17:30:00
   26-Sep-2014 13:30:00

Значения datetime в t отображение в формате по умолчанию.

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

C = {'8 avril 2013','9 mai 2013';'10 juin 2014','11 juillet 2014'}
C = 2x2 cell
    {'8 avril 2013'}    {'9 mai 2013'     }
    {'10 juin 2014'}    {'11 juillet 2014'}

Преобразуйте векторы символов в C к значениям datetime. Если для вашего компьютера задана локаль, использующий английский язык, необходимо указать 'Locale' аргумент пары "имя-значение", указывающий, что строки указаны на французском языке.

t = datetime(C,'InputFormat','d MMMM yyyy','Locale','fr_FR')
t = 2x2 datetime
   08-Apr-2013   09-May-2013
   10-Jun-2014   11-Jul-2014

Значения datetime в t отображение в формате по умолчанию и на языке, используемом MATLAB в зависимости от локали системы.

Создайте datetime массив из отдельных массивов значений лет, месяцев и дней.

Создайте выборку числовых массивов значений года Y и значений дней D. В этом случае значение месяца M является скаляром.

Y = [2014;2013;2012];
M = 01;
D = [31;30;31];

Создайте datetime массив.

t = datetime(Y,M,D)
t = 3x1 datetime
   31-Jan-2014
   30-Jan-2013
   31-Jan-2012

Задайте пользовательский формат отображения для выхода, используя Format аргумент пары "имя-значение".

t = datetime(Y,M,D,'Format','eeee, MMMM d, y')
t = 3x1 datetime
   Friday, January 31, 2014   
   Wednesday, January 30, 2013
   Tuesday, January 31, 2012  

Создайте образец массива дат Excel ®, которые представляют количество дней с 0 января 1900 года.

X = [39558, 39600; 39700, 39800]
X = 2×2

       39558       39600
       39700       39800

Преобразуйте значения в X к значениям datetime.

t = datetime(X,'ConvertFrom','excel')
t = 2x2 datetime
   20-Apr-2008   01-Jun-2008
   09-Sep-2008   18-Dec-2008

Совет

Вопросы совместимости

расширить все

Поведение изменено в R2020a

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

.
Введенный в R2014b