Представление дат и времени в MATLAB

Основной способ хранения информации о дате и времени - в 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 дней.

См. также

| |