exponenta event banner

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

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

Например, создайте массив datetime MATLAB ®, представляющий две даты: 28 июня 2014 г. в 6 часов утра и 28 июня 2014 г. в 7 часов утра. Укажите числовые значения для года, месяца, дня, часа, минуты и второго компонента даты и времени.

t = datetime(2014,6,28,6:7,0,0)
t = 
   28-Jun-2014 06:00:00   28-Jun-2014 07:00:00

Измените значение компонента даты или времени, назначив новые значения свойствам массива 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 для определения продолжительности календаря в других единицах измерения.

Добавьте количество календарных месяцев и календарных дней. Количество дней остается отдельным от числа месяцев, поскольку количество дней в месяце не является фиксированным и не может быть определено до тех пор, пока не будет добавлена календарная продолжительность к определенному дате и времени.

L = calmonths(2) + caldays(35)
L = 
   2mo 35d

Добавление продолжительности календаря к дате и времени для вычисления новой даты.

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 дней.

См. также

| |