Сравнение дат и времени

Этот пример показывает, как сравнить datetime и duration массивы. Сравнение значений по элементам можно выполнить в двух datetime массивы или два duration массивы, использующие реляционные операторы, такие как > и <.

Сравнение массивов Datetime

Сравните два datetime массивы. Массивы должны быть того же размера, или один может быть скаляром.

A = datetime(2013,07,26) + calyears(0:2:6)
A = 1x4 datetime
   26-Jul-2013   26-Jul-2015   26-Jul-2017   26-Jul-2019

B = datetime(2014,06,01)
B = datetime
   01-Jun-2014

A < B
ans = 1x4 logical array

   1   0   0   0

The < оператор возвращает логическое 1 (true) где datetime в A происходит перед datetime в B.

Сравнение datetime массив к тексту, представляющему дату.

A >= '26-Sep-2014'
ans = 1x4 logical array

   0   1   1   1

Сравнения datetime массивы учитывают информацию о часовом поясе каждого массива.

Сравните 1 сентября 2014 года в 16:00 в Лос-Анджелесе с 17:00 в тот же день в Нью-Йорке.

A = datetime(2014,09,01,16,0,0,'TimeZone','America/Los_Angeles',...
    'Format','dd-MMM-yyyy HH:mm:ss Z')
A = datetime
   01-Sep-2014 16:00:00 -0700

B = datetime(2014,09,01,17,0,0,'TimeZone','America/New_York',...
    'Format','dd-MMM-yyyy HH:mm:ss Z')
B = datetime
   01-Sep-2014 17:00:00 -0400

A < B
ans = logical
   0

16:00 в Лос-Анджелесе наступает после 17:00 в тот же день в Нью-Йорке.

Сравнение длительности

Сравните два duration массивы.

A = duration([2,30,30;3,15,0])
A = 2x1 duration
   02:30:30
   03:15:00

B = duration([2,40,0;2,50,0])
B = 2x1 duration
   02:40:00
   02:50:00

A >= B
ans = 2x1 logical array

   0
   1

Сравните массив длительности с числовым массивом. Элементы в числовом массиве обрабатываются как количество дней с фиксированной длиной (24 часа).

A < [1; 1/24]
ans = 2x1 logical array

   1
   0

Определите, содержатся ли даты и время в интервале

Используйте isbetween функция для определения, были ли значения в datetime массив лежит в закрытом интервале.

Задайте конечные точки интервала.

tlower = datetime(2014,08,01)
tlower = datetime
   01-Aug-2014

tupper = datetime(2014,09,01)
tupper = datetime
   01-Sep-2014

Создайте datetime и определите, находятся ли значения в пределах интервала, ограниченного t1 и t2.

A = datetime(2014,08,21) + calweeks(0:2)
A = 1x3 datetime
   21-Aug-2014   28-Aug-2014   04-Sep-2014

tf = isbetween(A,tlower,tupper)
tf = 1x3 logical array

   1   1   0

См. также

Похожие темы