Eri*_*cht 11 datetime scala scala-2.8
我正在寻找类似于Scoda的JodaTime或JSR 310的东西,它利用了很好的Scala功能,例如运算符重载,并且不依赖于隐式转换(我对隐式转换有一种非理性的恐惧).
我知道http://github.com/jorgeortiz85/scala-time,但它只是让JodaTime陷入困境.
隐式转换没有任何问题。即使 Java 库不用于底层逻辑,任何合理设计的纯 Scala 库仍然会使用隐式,允许您编写诸如5.days + 3.minutes.
并非所有隐式都被创建为相同的,隐式转换为您可以完全控制的非常特定的类型几乎肯定是安全的。
正如其他人已经指出的那样,在大多数情况下,此类转换都会被优化掉,尤其是在打开转义分析的情况下,所以不要让它们让您担心!
在 JSR 310 最终确定之前,joda-time 是您能得到的最好的时间。
除了需要遵循 Java 命名约定和缺乏运算符重载之外,joda-time 已经非常适合惯用的 Scala。该设计本质上非常实用,尤其是它包含不变性的方式,因此 scalaj-time 实际上只是库的一个非常薄的包装。
您还可以获得这样的好处:当 JSR 310 可用时,scalaj-time 可以轻松升级以使用 JSR 310,因此那时迁移代码的痛苦会少得多。
从2.8开始,scala-time已更名为scalaj-time: http: //github.com/scalaj/scalaj-time