Даты и время в MATLAB
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 |
Выход: