Даты и время в MATLAB

Опубликовано: 6 Января, 2023

MATLAB предоставляет множество способов работы с датой и временем в форме DateTime, длительности календаря и типов данных продолжительности. Эти типы данных не только поддерживают хранение и представление даты и времени, но также позволяют выполнять операции с датой и временем. Мы рассмотрим эти три типа данных отдельно.

ДатаВремя

Тип данных datetime специально записывает/представляет момент времени. Например, функция datetime сама по себе возвращает текущую дату и время с точностью до секунды.

Datetime предоставляет различные варианты; давайте посмотрим на них.

Пример 1:

Matlab




% MATLAB code for DateTime
% option1
datetime
  
% option2
datetime(YEAR, MONTH, DATE)
  
% option3
datetime(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND)

Выход:

MATLAB также позволяет пользователям создавать массивы DateTime из векторов.

Пример 2:

Matlab




% MATLAB code for create DateTime arrays from vectors
% years
year = [2013, 2023];
  
% Months
month = [1,3];
  
% Dates
date = [31, 29];
datetime(year, month, date)

Выход:

Продолжительность календаря:

Этот тип данных создает массивы времени, прошедшего в переменных календарных единицах. Этот тип данных предоставляет 5 функций для создания массивов переменных единиц.

  • cal month — для создания массивов с ежемесячной разницей в единицах.
  • call кварталы — для создания массивов с квартальной разницей в единицах.
  • calyears — для создания массивов с годовой разницей в единицах.
  • caldays — для создания массивов с ежедневными различиями в единицах измерения.
  • calweeks — для создания массивов с еженедельной разницей в единицах измерения.

Пример 3:

Matlab




% MATLAB Code for calendar Duration
calyears(1:2)
calquarters(1)
calmonths(1:5)

Выход:

Мы можем выполнять операции с массивами DateTime и массивами длительности календаря.

Пример 4:

Matlab




% MATLAB code for datetime array
dt = datetime(2022,11,29);
c = calmonths(1:5);
  
dt+c

Выход:

Это создаст новый массив со следующими значениями:

То же самое можно сделать с разными массивами длительности календаря.

Продолжительность:

Массивы длительности аналогичны массивам длительности календаря с той лишь разницей, что продолжительность прошедшего времени. Этот тип данных принимает фиксированные единицы времени и имеет следующие фиксированные функции длины времени:

  • годы
  • дни
  • часы
  • минуты
  • секунды
  • миллисекунды

Пример 5:

Matlab




% MATLAB Code for duration
years(1:5)
days(1:2)
milliseconds(1:7)

Выход:

Мы также можем выполнять операции над этими массивами.

Пример 6:

Matlab




% MATLAB code for hours array
h = hours(1:5)
  
% date
dt = datetime("today")
  
% operation
dt - h

Выход: