scala> import net.liftweb.util.TimeHelpers._
import net.liftweb.util.TimeHelpers._
scala> 60.minutes == 1.hour
res14: Boolean = false
scala>
4
A
回答
3
據大衛波拉克(誰應該知道),這是由於喬達時間。見Is It a bug of liftweb TimeHelpers: 60.minutes not equals 1.hour。
解決方案是轉換爲持續時間,然後比較這兩個值。來自Period.java:
週期的定義也影響等於方法。一天 一天不等於24小時,也不等於一小時,等於60分鐘 分鐘。這是因爲期間代表一個時間段的抽象定義(例如,一天可能實際上不是24小時,它可能是在日光節約邊界處的23, 或25)。要比較 兩個週期的實際持續時間,請使用toDuration將兩者轉換爲持續時間,操作 強調結果可能會因您選擇的日期而有所不同。
此解決方案由andreak提供,在上面的鏈接到谷歌組線程,並在這裏複製,以便其他人可以在這裏找到它。
相關問題
- 1. Multiple Raphael Clocks on one page,not passing hours/minutes
- 2. 在Days,Hours,Minutes和Secondes中顯示蜱
- 3. Swift倒數計時器標籤爲Days/Hours/Minutes/Seconds
- 4. 爲什麼「1」等於「+1」?
- 5. 爲什麼Liftweb的`bootstrap.liftweb.Boot`是一個類,除了一個對象?
- 6. 查詢執行爲1等於1而不是空值檢查
- 7. 這是一個Ghc(i)Bug?!,19 - 1不等於18嗎?
- 8. np.random.choice錯誤:概率不等於1,但打印表明它的確如此?
- 9. Scikit SVM錯誤:X.shape [1] = 1應該等於2
- 10. PHP cURL錯誤60
- 11. 爲什麼是真等於-1
- 12. 爲什麼一個double 1.0等於一個int 1?
- 13. NSNumber of seconds to minutes,minutes,seconds
- 14. 整數等於0而不是1
- 15. C++ Ifstream對象等於nullptr,但它不是一個指針?
- 16. -1 * int.MinValue == int.MinValue ??這是一個錯誤?
- 17. 三是等於1個SQL連續行
- 18. 不能低於60%
- 19. C爲什麼3除以2等於0,而是1等於1?
- 20. 爲什麼0.1 * 10-1不等於0?
- 21. Python sklearn PCA.explained_variance_ratio_不等於1
- 22. 讓m不能等於1?
- 23. 爲什麼NUM = 1 - - 「2」 等於3個
- 24. Ajax readyState總是等於1
- 25. 爲什麼_XBEGIN_STARTED等於-1?
- 26. GCC宏1 + 1不等於2?
- 27. bindAttr爲什麼不能用於禁用?這是一個錯誤?
- 28. 錯誤\t 1個\t錯誤C2099:初始化不是一個常數
- 29. 爲什麼1%2等於1?
- 30. Filemaker:Script「等於1」
如果您在平等中顛倒順序會發生什麼?從源代碼看起來'.minutes'返回一個句點,'.hours'返回一個持續時間(Period的子類型),所以如果等於多態性的東西被打碎... – 2011-12-07 20:54:00
哦,嗯。它似乎已經改變......有時。將https://github.com/lift/framework/blob/master/core/util/src/main/scala/net/liftweb/util/TimeHelpers.scala與http://olim7t.github.com/liftweb-2.0比較例如,-release-sxr/net/liftweb/util/TimeHelpers.scala.html。它可能是特定於某個特定版本的?至少,請指定*精確*升級版本 - 祝你好運:) – 2011-12-07 20:57:48