exponenta event banner

datestr

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

Описание

пример

Примечание

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

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

datestr функция возвращает символьный массив с m строки, где m - общее количество datetime значения в t. По умолчанию datestr возвращает текст в формате день-месяц-год час: минута: секунда. Если час: минута: секунда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 текст в формате день-месяц-год час: минута: секунда. Все даты и время, представленные в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
   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 возвращает текст, представляющий даты и время в формате день-месяц-год час: минута: секунда.

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 возвращает символьный массив преобразованных дат в формате «день-месяц-год».

Звонить 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 массив.

Примечание: 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

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

Начальный год 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