ScalaJS:跨平台日期的最新技术是什么?

时间:2016-11-25 16:24:34

标签: scala.js

我正在使用ScalaJS和Play。我想在JS和JVM平台上使用的许多模型都涉及日期和时间。鉴于缺乏跨平台的日期/时间库,人们如何接近这个?

我所了解的事情:

  1. scalajs-java-time项目(https://github.com/scala-js/scala-js-java-time)将JDK8的java.time api移植到Scala.js。不幸的是,它远未完成并且通过提交日志来判断,似乎已经停滞不前。
  2. https://github.com/mdedetrich/soda-time是JodaTime到Scala / Scala.js的端口。但它尚未准备好用于生产。
  3. https://groups.google.com/forum/#!topic/scala-js/6JoJ7x-VxLA上的旧帖子建议在共享代码中存储毫秒,然后在每个平台上进行js.Date或JodaTime的隐式转换。但是我们确实需要一个通用接口,但这并没有给出。
  4. Li Haoyi出色的“动手Scala.js”有一个简单的跨平台库(http://www.lihaoyi.com/hands-on-scala-js/#ASimpleCross-BuiltLibrary),理论上可以扩展为提供一个API in / shared,代表JodaTime on关于js的jvm和Momento - 但这听起来像是很多工作。
  5. (稍后添加)https://github.com/soc/scala-java-time基于为OpenJDK提供的java-time实现。 README声称大多数东西都在工作。现在,这似乎是满足我需求的最有前途的方法。
  6. 那些摆在我面前的人的建议是什么?现在第四个选项似乎是我最好的选择(API限于我实际使用的东西)。我希望有更好的东西。

1 个答案:

答案 0 :(得分:1)

我和你在同一条船上,我想出的最佳解决方案是cquiroz's scala-java-time library。从阅读评论到上面的问题,看来你最终落在了同一个地方!

我是通过谷歌搜索来到这里的,并且考虑到这个解决方案比上面提到的替代方案好多了,让我们考虑将这个问题标记为未来访问者的解决方案。