datestr

Преобразуйте дату и время в формат строки

Описание

пример

Примечание

В то время как datestr возвращает текст, представляющий даты и времена, рекомендуется, чтобы вы использовали datetime значения, чтобы представлять моменты времени, и затем преобразовать их в текст с помощью char, cellstr, или string функции.

DateString = datestr(t) преобразует datetime значения во входном массиве t к тексту, представляющему даты и времена.

datestr функция возвращает символьный массив с m строки, где m общее количество datetime значения в t. По умолчанию, datestr возвращает текст в формате, дневной год месяца hour:minute:second. Если hour:minute:second является 00:00:00, затем возвращенный текст имеет формат, дневной год месяца.

пример

DateString = datestr(DateVector) преобразует векторы даты в текст, представляющий даты и времена. datestr функция возвращает символьный массив с m строки, где m общее количество векторов даты в DateVector.

Примечание: При некоторых обстоятельствах, datestr интерпретирует вектор даты, как будто это был вектор из шести чисел даты. Для получения дополнительной информации смотрите, что Вектор Даты Преобразования Возвращает Неожиданный Выходной параметр.

пример

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

пример

DateString = datestr(___,formatOut) задает формат синтезируемого текста с помощью formatOut. Можно использовать formatOut с любым из входных параметров в предыдущих синтаксисах.

DateString = datestr(DateStringIn) преобразует DateStringIn к тексту в формате, дневной год месяца hour:minute:second. Все даты и времена представлены в DateStringIn должен иметь тот же формат.

пример

DateString = datestr(DateStringIn,formatOut,PivotYear) преобразует DateStringIn к DateString, в формате, заданном formatOut, и использование дополнительного PivotYear интерпретировать даты, которые задают год как два символа.

пример

DateString = datestr(___,'local') возвращает дату на языке текущей локали. Этот язык является языком, который вы выбираете посредством операционной системы своего компьютера. Если вы оставляете 'local' из списка аргументов, datestr возвращает текст на языке по умолчанию, который является английским языком США. Используйте 'local' с любым из предыдущих синтаксисов. 'local' аргумент должен быть последним в последовательности аргумента.

Примеры

свернуть все

t = [datetime('now');datetime('tomorrow')]
t = 2x1 datetime
   24-Aug-2021 23:44:17
   25-Aug-2021 00:00:00

DateString = datestr(t)
DateString = 2x20 char array
    '24-Aug-2021 23:44:17'
    '25-Aug-2021 00:00:00'

datestr возвращает текст, представляющий даты и времена в формате, дневной год месяца hour:minute:second.

DateVector = [2009,4,2,11,7,18];

datestr(DateVector)
ans = 
'02-Apr-2009 11:07:18'

datestr возвращает текст, представляющий дату и время в формате по умолчанию.

Отформатируйте текущую дату в mm/dd/yy формат.

Можно задать этот формат с помощью символьных идентификаторов.

formatOut = 'mm/dd/yy';
datestr(now,formatOut)
ans = 
'08/24/21'

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

formatOut = 2;
datestr(now,formatOut)
ans = 
'08/24/21'

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

dt = datestr(now,'mmmm dd, yyyy HH:MM:SS.FFF AM')
dt = 
'August 24, 2021 11:44:07.156 PM'

Преобразуйте 12-часовое 5:32 времени p.m. к его 24-часовому эквиваленту.

datestr('05:32 PM','HH:MM')
ans = 
'17:32'

Преобразуйте 24-часовое 5:32 времени в его 12-часовой эквивалент.

datestr('05:32','HH:MM PM')
ans = 
' 5:32 AM'

Использование AM или PM в formatOut синтезируемый текст не влияет, какие символы на самом деле становятся частью текста; они только определяют, включать ли символы. MATLAB® выбирает AM или PM на основе вводимого времени.

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

formatOut = 'dd mmm yyyy';
datestr(datenum('16-04-55','dd-mm-yy',1900),formatOut)
ans = 
'16 Apr 1955'

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

Все входные даты должны использовать тот же формат. Например, следующая команда передает три даты что все использование mm/dd/yyyy формат.

datestr(datenum({'09/16/2007';'05/14/1996';'11/29/2010'}, ...
    'mm/dd/yyyy'))
ans = 3x11 char array
    '16-Sep-2007'
    '14-May-1996'
    '29-Nov-2010'

datestr возвращает символьный массив конвертированных дат в формате, дневной год месяца.

Вызовите datenum в datestr возвратить ожидаемое значение, потому что дата ниже использует значение вне своей нормальной области значений (month=13).

datestr(datenum('13/24/88','mm/dd/yy'))
ans = 
'24-Jan-1989'

Измените год центра, чтобы изменить область значений года.

Используйте год центра 1 900.

DateStringIn = '4/16/55';
formatOut = 1;
PivotYear = 1900;
datestr(DateStringIn,formatOut,PivotYear)
ans = 
'16-Apr-1955'

Для той же даты используйте год центра 2 000.

PivotYear = 2000;
datestr(DateStringIn,formatOut,PivotYear)
ans = 
'16-Apr-2055'

Преобразуйте номер даты в текст на языке текущей локали.

Используйте 'local' аргумент во французской локали.

DateNumber = 725935;
formatOut = 'mmmm-dd-yyyy';
str = datestr(DateNumber,formatOut,'local')
str =
Juillet-17-1987

Можно выполнить тот же вызов, не задавая 'local'.

str = datestr(DateNumber,formatOut)
str =
July-17-1987

В этом случае, выходные значения по умолчанию на английский язык.

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

свернуть все

Даты и времена в виде datetime массив.

Примечание: datestr функция не принимает datetime значения, которые являются NaTs как входные параметры.

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

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

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

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

Последовательные числа даты в виде массива положительных чисел с двойной точностью.

Пример: 731878

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

Формат выходных дат и времен представления в виде вектора символов или строкового скаляра символьных идентификаторов или целого числа, которое соответствует предопределенному формату. Если вы не задаете formatOut, затем datestr возвращает текст в формате по умолчанию dd-mmm-yyyy HH:MM:SS (дневной год месяца hour:minute:second). По умолчанию, если HH:MM:SS = 00:00:00 затем возвращенный текст имеет формат dd-mmm-yyyy.

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

Примечание

Символьные идентификаторы, описывающие форматы даты и времени, отличаются от идентификаторов, которые описывают форматы отображения 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

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

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

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

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

Эта таблица приводит предопределенные форматы даты, которые можно использовать с datestr.

Числовой идентификатор

Формат даты и времени

Пример

-1 (значение по умолчанию)

'dd-mmm-yyyy HH:MM:SS' или 'dd-mmm-yyyy' если 'HH:MM:SS'= 00:00:00

01-Mar-2000 15:45:17 или 01-Mar-2000

0

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

01-Mar-2000 15:45:17

1

'dd-mmm-yyyy'

01-Mar-2000

2

'mm/dd/yy'

03/01/00

3

'mmm'

Mar

4

'm'

M

5

'mm'

03

6

'mm/dd'

03/01

7

'dd'

01

8

'ddd'

Wed

9

'd'

W

10

'yyyy'

2000

11

'yy'

00

12

'mmmyy'

Mar00

13

'HH:MM:SS'

15:45:17

14

'HH:MM:SS PM'

3:45:17 PM

15

'HH:MM'

15:45

16

'HH:MM PM'

3:45 PM

17

'QQ-YY'

Q1-01

18

'QQ'

Q1

19

'dd/mm'

01/03

20

'dd/mm/yy'

01/03/00

21

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

Mar.01,2000 15:45:17

22

'mmm.dd,yyyy'

Mar.01,2000

23

'mm/dd/yyyy'

03/01/2000

24

'dd/mm/yyyy'

01/03/2000

25

'yy/mm/dd'

00/03/01

26

'yyyy/mm/dd'

2000/03/01

27

'QQ-YYYY'

Q1-2001

28

'mmmyyyy'

Mar2000

29

'yyyy-mm-dd'
(ISO 8601)

2000-03-01

30

'yyyymmddTHHMMSS'
(ISO 8601)

20000301T154517

31

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

2000-03-01 15:45:17

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

datestr рассматривает 2D символьные годы (например, '79') находиться в пределах 100-летней области значений, сосредоточенной около текущего года.

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

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

Пример

'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

Примечание

При преобразовании от одного формата даты и времени до другого сначала передайте текст datenum функция, так, чтобы можно было задать формат входных параметров. Этот подход гарантирует, что формат входных дат и времен правильно интерпретирован. Например, смотрите Строку Преобразования даты от Пользовательского Формата.

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

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

Пример: 2000

Примечание

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

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

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

свернуть все

Текст, представляющий даты и времена, возвращенные как символьный массив с m строки, где m общее количество входных дат и времен. Выходным форматом по умолчанию является dd-mmm-yyyy HH:MM:SS (дневной год месяца hour:minute:second), если часы, минуты и секунды не являются всем 0, в этом случае HH:MM:SS подавлен.

Советы

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

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

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