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

Первичный способ хранить информацию даты и времени находится в массивах datetime, которые поддерживают арифметику, сортировку, сравнения, графический вывод и отформатированное отображение. Результаты арифметических различий возвращены в массивах duration или, когда вы используете основанные на календаре функции в массивах calendarDuration.

Например, создайте массив datetime MATLAB®, который представляет две даты: 28 июня 2014 в 6:00 и 28 июня 2014 в 7:00. Задайте числовые значения в течение года, месяца, дня, часа, минуты и вторых компонентов для 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, 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 день длиной.
    Тип данных calendarDuration также составляет изменения летнего времени и високосные годы, так, чтобы 1 день мог быть более или менее, чем 24 часа, и 1 год может иметь 365 или 366 дней.

Смотрите также

| |