Первичный способ хранить информацию даты и времени находится в datetime
массивы, которые поддерживают арифметику, сортировку, сравнения, графический вывод и отформатированное отображение. Результаты арифметических различий возвращены в duration
массивы или, когда вы используете основанные на календаре функции в calendarDuration
массивы.
Например, создайте MATLAB® массив datetime, который представляет две даты: 28 июня 2014 в 6 a.m. и 28 июня 2014 в 7 a.m. Задайте числовые значения в течение года, месяца, дня, часа, минуты и вторых компонентов для 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
По умолчанию, duration
массив отображается в формате, hours:minutes:seconds. Измените формат отображения длительности путем изменения ее Format
свойство. Можно отобразить значение длительности с единым блоком, таким как часы.
d.Format = 'h'
d = 48.512 hrs 23.512 hrs
Можно создать длительность в едином блоке с помощью seconds
минуты
часы
дни
, или 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 день длиной.
calendarDuration
тип данных также учеты летнего времени, экономящие изменения времени и високосные годы, так, чтобы 1 день мог быть более или менее, чем 24 часа и 1 год, может иметь 365 или 366 дней.