Типы даты и времени в MATLAB
Работа с датой и временем
Объект дата и время
Для создания объекта типа дата используется функция datetime
>> a = datetime(2014,6,28,6,0,0)
a =
datetime
28-Jun-2014 06:00:00
Функция позволяет создавать диапазон дат, если указан диапазон изменения одного из аргументов
>> a = datetime(2014,6,28:30,6,0,0)
a =
1×3 datetime array
28-Jun-2014 06:00:00 29-Jun-2014 06:00:00 30-Jun-2014 06:00:00
>> a(1)
ans =
datetime
28-Jun-2014 06:00:00
Для создания может быть использован оператор :
date_array = datetime(2020,4,1,0,0,0):minutes(20):datetime(2020,4,2,0,0,0)
date_array =
1×10 datetime array
Columns 1 through 5
01-Apr-2020 00:00:00 01-Apr-2020 02:40:00 01-Apr-2020 05:20:00 01-Apr-2020 08:00:00 01-Apr-2020 10:40:00
Columns 6 through 10
01-Apr-2020 13:20:00 01-Apr-2020 16:00:00 01-Apr-2020 18:40:00 01-Apr-2020 21:20:00 02-Apr-2020 00:00:00
или функция linspace
date_array = linspace(datetime(2020,4,1,0,0,0),datetime(2020,4,2,0,0,0),10)
Формат отображения даты задается свойством datetime.Format
>> a.Format = 'dd.MM.yyyy';
>> a
a =
1×3 datetime array
28.06.2014 29.06.2014 30.06.2014
Интервал между двумя датами
>> d = a(2) - a(1)
d =
duration
24:00:00
По умолчанию разница дат отображается в часах. Чтобы изменить формат отображения используется свойство Format
>> d.Format = 'h'
d =
duration
24 hr
>> d.Format = 'd'
d =
duration
1 day
Для создания интервалов дат могут использоваться функции calmonth, caldays, calweeks, calquarters, calyears
На 10 дней вперед от 20 февраля 2020 года
>> d1 = datetime(2020,2,20,0,0,0);
>> d2 = d1 + caldays(10)
d2 =
datetime
01-Mar-2020 00:00:00
На 1 месяц вперед от 20 февраля 2020 года
>> d2 = d1 + calmonths(1)
d2 =
datetime
20-Mar-2020 00:00:00
На 1 квартал вперед от 20 февраля 2020 года
>> d2 = d1 + calquarters(1)
d2 =
datetime
20-May-2020 00:00:00