Есть ли в Scala утилиты Date / Time DSL? - PullRequest
5 голосов
/ 11 января 2012

Мне нужно манипулировать и вычислять множество вещей, связанных с датой, таких как «сегодня?», «До вчерашнего дня», «сейчас плюс 3 дня» и т. Д. Есть ли какая-либо библиотека или dsl в scala, которые могут помочьс этим?Я надеялся на что-то с неявными преобразованиями.

Я буду использовать это с фрагментами лифта, так что помощники лифта тоже работают.Я видел, что у TimeHelpers в лифте есть несколько методов, это хорошее начало, но я ищу что-то большее.

Ответы [ 3 ]

7 голосов
/ 11 января 2012

Вы можете использовать следующую оболочку scala для joda-time.

Scala-time

2 голосов
/ 24 июня 2014

Я недавно разработал 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)
2 голосов
/ 11 января 2012

Если вам нужно манипулировать java.util.Date, есть также Моменты

...