如果在Java 8发布之前,我肯定会选择nscala-time作为我的scala播放项目。
然而,自从Java 8发布以来,建议在Java项目中使用Java 8的数据和时间而不是joda时间。
那么Scala项目呢?我们应该继续使用nscala-time还是转换?如果使用Java 8的日期和时间,需要使用可变的。
另外,哪个库对play json库有很好的支持?
Java 8时间库(java.time
)类型不可变;Joda Time实际上有一些针对特定用例的可变类。还有一个用于java.time
的Scala包装器,它可以与用于Java 7的java.time
的后端口一起使用。我没有使用Play JSON的经验,但是根据邮件列表,
我们应该考虑在Play 3.0内部迁移到JSR-310类型,并建议使用java.time。_类型在文档中。看起来我们对这些的读/写实现是相当合理的。我们只需要确保在api的其他部分添加了对这些类型的支持
但是,目前至少在2.4.2 java.time.Instant read/Writes的实现是错误的,我正试图得到这个固定。所以,也许你想加入这里的讨论:https://groups.google.com/forum/#!主题/play框架/VFMTGPCW7Hc
所以现在使用nscala-time(或直接使用Joda)似乎更有意义,特别是如果你使用Play的其他部分,而不仅仅是JSON。