Scala中是否有任何日期/时间DSL工具?

时间:2012-01-11 00:19:24

标签: scala datetime lift dsl

我需要操纵和计算许多与日期相关的事情,例如“今天是吗?”,“是在昨天之前?”,“现在加上3天”等等。在scala中是否有任何库或dsl可以提供帮助接着就,随即?我希望有一些隐含的转换。

我将使用升降机片段,因此升降机助手也能正常工作。我看到TimeHelpers在电梯里有一些方法,这是一个好的开始,但我正在寻找更多的东西。

3 个答案:

答案 0 :(得分:7)

您可以使用以下scala包装器获取joda-time。

Scala-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)