datestr

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

Описание

пример

Примечание

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

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

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

пример

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

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

пример

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

пример

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

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

пример

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

пример

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

Примеры

свернуть все

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

DateString = datestr(t)
DateString = 2x20 char array
    '23-Mar-2021 16:57:20'
    '24-Mar-2021 00:00:00'

datestr возвращает текст, представляющий даты и времена в формате, day-month-year 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 = 
'03/23/21'

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

formatOut = 2;
datestr(now,formatOut)
ans = 
'03/23/21'

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

dt = datestr(now,'mmmm dd, yyyy HH:MM:SS.FFF AM')
dt = 
'March 23, 2021  4:57:11.784 PM'

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

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

Преобразуйте 24-часовое время 05: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 возвращает символьный массив преобразованных дат в формате day-month-year.

Функции datenum внутри datestr для возврата ожидаемого значения, поскольку дата ниже использует значение, выходящее за пределы его нормальной области значений (месяц = 13 ).

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

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

Используйте год поворота 1900.

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

Для этой же даты используйте основной год 2000.

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 массив.

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

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

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

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

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

Серийные номера дат, заданные как массив положительных чисел двойной точности.

Пример: 731878

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

Формат выхода, представляющего даты и времена, заданный как вектор символов или строковый скаляр символьных идентификаторов или целое число, которое соответствует предопределенному формату. Если вы не задаете formatOut, затем datestr возвращает текст в формате по умолчанию dd-mmm-yyyy HH:MM:SS (дневной-месячный-час: минута: секунда). По умолчанию, если 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

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

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 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 рассматривает двухсимвольные годы (для примера, '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 function, чтобы можно было задать формат входов. Этот подход обеспечивает правильную интерпретацию формата входных дат и времени. Для получения примера смотрите Преобразование строки даты из пользовательского формата.

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

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

Пример: 2000

Примечание

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

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

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

свернуть все

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

Совет

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

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

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