exponenta event banner

дата и время

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

Описание

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

Также, datetime массивы обеспечивают:

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

  • Хранение в течение долевых секунд с точностью до наносекунды.

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

Создание

Описание

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

пример

t = datetime(relativeDay) использует дату, указанную relativeDay. 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. dateType аргумент указывает тип значений в X.

Если X содержит POSIX ® или юлианские даты, представляющие местное время, затем укажите соответствующий часовой пояс для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 в Нью-Йорке.

Значение 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 приемы отличаются от идентификаторов, используемых datestr, datenum, и datevec функции.

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

Векторы даты, указанные как m-к-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. 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

Массивы года, месяца, дня, часа, минуты, секунды и миллисекунды, указанные как числовые массивы. Эти массивы должны иметь одинаковый размер или скаляр. 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'

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

При преобразовании 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'

Даты как числовые значения YYYYMMDD. Например, 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 собственность.

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

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

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

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

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

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

  • 'system', чтобы указать языковой стандарт системы.

  • Вектор символов или строковый скаляр в форме xx_YY, где xx - это строчный двухбуквенный код ISO 639-1, определяющий язык, и YY является верхним кодом ISO 3166-1 alpha-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'

Примечание

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

  • Сведения об изменении языкового стандарта datetime по умолчанию для отображения см. в разделе Установка настроек окна команд.

  • Чтобы преобразовать значения datetime в текст с использованием другого языкового стандарта, используйте char, cellstr, или string функции.

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

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

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

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

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

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

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

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

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

Свойства

развернуть все

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

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

'default'

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

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

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

При указании собственного формата необходимо использовать допустимые идентификаторы букв, соответствующие стандарту языка разметки данных языка (LDML) Unicode ® для дат и времени.

Пример: '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 приемы отличаются от идентификаторов, используемых datestr, datenum, и datevec функции.

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

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

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

Значение 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 присваивает положительные значения годам 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, то pivot год определяет век, к которому принадлежит год.

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

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

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

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

Эти идентификаторы используются для указания формата отображения смещения часового пояса. Смещение часового пояса - это время смещения определенного значения даты и времени от 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 или XОсновной формат ISO 8601 с полем часов и дополнительным полем минут. При указании X, то в качестве индикатора ISO 8601 UTC «Z» отображается смещение по времени, равное нулю.-04
xx или XXОсновной формат ISO 8601 с полями часов и минут. При указании XX, то в качестве индикатора ISO 8601 UTC «Z» отображается смещение по времени, равное нулю.-0400
xxx или XXXРасширенный формат ISO 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 представляют времена, которые происходят во время високосной секунды. (Список секунд скачка, поддерживаемых 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

'InputFormat' аргумент применяется только к преобразованиям из входного текста. 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