我需要操纵和计算许多与日期相关的事情,例如“今天是吗?”,“是在昨天之前?”,“现在加上3天”等等。在scala中是否有任何库或dsl可以提供帮助接着就,随即?我希望有一些隐含的转换。
我将使用升降机片段,因此升降机助手也能正常工作。我看到TimeHelpers在电梯里有一些方法,这是一个好的开始,但我正在寻找更多的东西。
答案 0 :(得分:7)
您可以使用以下scala包装器获取joda-time。
答案 1 :(得分:2)
如果您必须操纵java.util.Date
,还有Moments
答案 2 :(得分:2)
我最近开发了Lamma,非常适合您的用例。
scala> import io.lamma._ // import at begining
import io.lamma._
scala> Date(2014, 7, 10) - Date(2014, 7, 3) // calculate date difference
res5: Int = 7
scala> (2014, 7, 10) - (2014, 7, 3) // implicit conversion from (Int, Int, Int)
res6: Int = 7
scala> (2014, 7, 10) + 3 // plus 3 days
res7: io.lamma.Date = Date(2014,7,13)
scala> (2014, 7, 10) + 5.weeks // plus 5 weeks
res8: io.lamma.Date = Date(2014,8,14)
scala> (2014, 7, 10) + (5 weeks) // this will work too
res9: io.lamma.Date = Date(2014,8,14)
scala> (2014, 7, 10) + (10 years) // another expression
res10: io.lamma.Date = Date(2024,7,10)