Основной способ хранения информации о дате и времени - в datetime
массивы, которые поддерживают арифметику, сортировку, сравнение, графическое изображение и форматированное отображение. Результаты арифметических различий возвращаются в duration
массивы или, когда вы используете основанные на календаре функции, в calendarDuration
массивы.
Для примера создайте MATLAB® массив datetime, который представляет две даты: 28 июня 2014 года в 6 часов утра и 28 июня 2014 года в 7 часов утра Укажите числовые значения для года, месяца, дня, часа, минуты и вторых компонентов datetime.
t = datetime(2014,6,28,6:7,0,0)
t = 28-Jun-2014 06:00:00 28-Jun-2014 07:00:00
Измените значение компонента даты или времени путем присвоения новых значений свойствам массива datetime. Например, измените номер дня каждого datetime путем присвоения новых значений Day
свойство.
t.Day = 27:28
t = 27-Jun-2014 06:00:00 28-Jun-2014 07:00:00
Измените формат отображения массива путем изменения его Format
свойство. В следующем формате не отображаются компоненты времени. Однако значения в массиве datetime не изменяются.
t.Format = 'MMM dd, yyyy'
t = Jun 27, 2014 Jun 28, 2014
Если вычесть один datetime
массив от другого, результатом является duration
массив в единицах фиксированной длины.
t2 = datetime(2014,6,29,6,30,45)
t2 = 29-Jun-2014 06:30:45
d = t2 - t
d = 48:30:45 23:30:45
По умолчанию a duration
отображение массива в формате, часы: минуты: секунды. Измените формат отображения длительности путем изменения его Format
свойство. Вы можете отобразить значение длительности с одним модулем, такой как часы.
d.Format = 'h'
d = 48.512 hrs 23.512 hrs
Вы можете создать длительность в одном модуле с помощью seconds
, minutes
, hours
, days
, или years
функций. Для примера создайте длительность 2 дней, где каждый день составляет ровно 24 часов.
d = days(2)
d = 2 days
Календарную длительность можно создать в одном модуле переменной длины. Например, один месяц может быть 28, 29, 30 или 31 день. Задайте календарную длительность 2 месяца.
L = calmonths(2)
L = 2mo
Используйте caldays
, calweeks
, calquarters
, и calyears
функции для задания календарных длительности в других модулях.
Добавьте несколько календарных месяцев и календарных дней. Количество дней остается отдельным от количества месяцев, поскольку количество дней в месяце не фиксировано и не может быть определено, пока вы не добавите календарную длительность к определенному datetime.
L = calmonths(2) + caldays(35)
L = 2mo 35d
Добавьте календарные сроки в datetime, чтобы вычислить новую дату.
t2 = t + calmonths(2) + caldays(35)
t2 = Oct 01, 2014 Oct 02, 2014
t2
также является datetime
массив.
whos t2
Name Size Bytes Class Attributes t2 1x2 161 datetime
Сводные данные, существует несколько способов представления дат и времени, и MATLAB имеет тип данных для каждого подхода:
Представьте точку времени, используя datetime
тип данных.
Пример: 18 июня 2014 г. 10:00:00
Представлять длительность в единицах фиксированной длины, используя duration
тип данных. При использовании duration
тип данных, 1 день всегда равен 24 часам, а 1 год всегда равен 365,2425 дням.
Пример: 72 часа и 10 минуты
Представлять длину времени или длительность в единицах переменной длины, используя calendarDuration
тип данных.
Пример: 1 месяц, который может длиться 28, 29, 30 или 31 день.
The calendarDuration
тип данных также учеты летнего времени экономию изменений времени и високосных лет, так что 1 день может быть больше или меньше 24 часов, а 1 год может иметь 365 или 366 дней.