scala> import net.liftweb.util.TimeHelpers._
import net.liftweb.util.TimeHelpers._
scala> 60.minutes == 1.hour
res14: Boolean = false
scala>
答案 0 :(得分:3)
根据David Pollak(谁应该知道),这是由于joda时间。请参阅Is It a bug of liftweb TimeHelpers: 60.minutes not equals 1.hour。
解决方案是转换为Duration,然后比较这两个值。来自Period.java:
期间的定义也会影响equals方法。一段时间 1天不等于24小时,也不等于1小时等于60 分钟。这是因为句号表示抽象的定义 一段时间(例如,一天可能实际上不是24小时,可能是23 或25美元在夏令时边界)。比较实际的持续时间 两个句点,使用toDuration将操作转换为持续时间 强调结果可能会根据您的日期而有所不同 选择。
此解决方案由上述链接提供给google群组线程,并在此处复制,以便其他人可以在此处找到。