Является ли это ошибкой для lifheb TimeHelpers: 60 минут не равно 1. час - PullRequest
4 голосов
/ 07 декабря 2011
scala> import net.liftweb.util.TimeHelpers._

import net.liftweb.util.TimeHelpers._

scala> 60.minutes  == 1.hour

res14: Boolean = false

scala> 

1 Ответ

3 голосов
/ 07 декабря 2011

По словам Дэвида Поллака (кто должен знать), это связано со временем йода.См. Является ли это ошибкой liftweb TimeHelpers: 60.minutes not equals 1.hour .

Решение состоит в том, чтобы преобразовать в Duration, а затем сравнить два значения.С Period.java :

Определение периода также влияет на метод равенства.Период в 1 день не равен периоду в 24 часа, а 1 час не равен 60 минутам.Это связано с тем, что периоды представляют собой абстрактное определение периода времени (например, день может фактически не быть 24 часами, это может быть 23 или 25 на границе летнего времени).Чтобы сравнить фактическую продолжительность двух периодов, преобразуйте оба значения в длительности, используя toDuration, операцию, которая подчеркивает, что результат может отличаться в зависимости от выбранной вами даты.

Это решение было предоставлено andreak ввыше ссылка на ветку группы Google, и скопирован здесь, чтобы другие могли найти его здесь.

...