Сравнение 2 экземпляров DateTime, и это дает мне неверный результат - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть 2 экземпляра DateTime

today = Sun, 25 Nov 2018 18:59:00 -0500
tomorrow = Mon, 26 Nov 2018 00:00:00 GMT +00:00

Когда я делаю

today >= tomorrow

, получается ложно, что правильно

Когда я делаю

today + 1.minute >= tomorrow

получается, что неверно.Почему это происходит, когда 25 ноября должно быть меньше, чем 26 ноября?Это как-то вычисляет только время, а не дату?Если да, как я могу это исправить?

1 Ответ

0 голосов
/ 26 ноября 2018

Обратите внимание, что today и tomorrow находятся в другом часовом поясе.Когда вы добавляете 1.minute к today, оба значения становятся одинаковыми.Следовательно == возвращает true.

2.5.3 :001 > today = DateTime.parse('Sun, 25 Nov 2018 18:59:00 -0500')
 => Sun, 25 Nov 2018 18:59:00 -0500
2.5.3 :002 > tomorrow = DateTime.parse('Mon, 26 Nov 2018 00:00:00 GMT +00:00')
 => Mon, 26 Nov 2018 00:00:00 +0000
2.5.3 :003 > today >= tomorrow
 => false
2.5.3 :004 > today + 1.minute
 => Sun, 25 Nov 2018 19:00:00 -0500
2.5.3 :005 > today + 1.minute >= tomorrow
 => true
2.5.3 :006 > today + 1.minute == tomorrow
 => true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...