2016-11-25 7 views
2

私はPlayでScalaJSを使用しています。 JSプラットフォームとJVMプラットフォームの両方で使用したいモデルの多くは、日付と時刻を含んでいます。クロスプラットフォームの日付/時刻ライブラリがないため、どのように人々がこれに近づいていますか?私が知っているScalaJS:プラットフォーム間の日付については、どのような最新技術がありますか?

もの:

  1. scalajs-javaのタイムプロジェクト(https://github.com/scala-js/scala-js-java-time)Scala.jsにポートJDK8のjava.time APIへ。残念ながら、完全なものではなく、コミットログで判断すると、時間がかかっているようです。
  2. https://github.com/mdedetrich/soda-timeはScala/Scala.jsに対するJodaTimeのポートです。しかし、それは生産のための準備ができていません。
  3. 古い投稿はhttps://groups.google.com/forum/#!topic/scala-js/6JoJ7x-VxLAで、共有コードにミリ秒を格納し、各プラットフォームで暗黙的にjs.DateまたはJodaTimeに変換することを示しています。しかし、私たちは本当に共通のインターフェースを必要としています。
  4. Li Haoyiの優れた "Hands-on Scala.js"には、理論上、jvmとMomentoのJodaTimeに委任された/共有されたAPIを思い付くように拡張できる単純なクロスプラットフォームライブラリ(http://www.lihaoyi.com/hands-on-scala-js/#ASimpleCross-BuiltLibrary)がありますon js - しかし、それは多くの仕事のように聞こえる。
  5. (後で追加)https://github.com/soc/scala-java-timeは、OpenJDKに貢献したjava-timeの実装に基づいています。 READMEは、ほとんどのものは動作していると主張しています。今、これは私のニーズにとって最も有望なアプローチのように見えます。

私の前に行った人からのアドバイスはありますか?今の4番目の選択肢は、私が実際に使用するものに限定されたAPIを使って、私の最高の賭けのように思えます。私はより良いものを望んでいる。

+0

これはおそらくあなたに役立ちます:http://pavkin.ru/cross-platform-polymorphic-datetime-values-in-scala-with-type-classes/ – sjrd

+0

はい、その参考になります。私が実際に試してみると、もっと広範囲に報告されます。ありがとうございました。 – bwbecker

+0

私はpavkin.ruのリファレンスがJSとは対照的に、JVM上で異なるコーディング規則を持つように見える実際に複雑な解決策であることを発見しました。私は前進することができませんでした。また、すべてのケースクラスをDate/Timeのものでパラメータ化する必要があるという考えが嫌いです。おそらく私は物事を理解していないだけですが、私はこの道を辿るとは思わないでしょう。 – bwbecker

答えて

1

私はあなたと同じボートにいましたが、私が思いついた最善の解決策はcquiroz's scala-java-time libraryでした。上記のコメントを読んでから、結局同じ場所に着陸したようです。

私はここでGoogle検索から来て、あなたが上記の選択肢よりどれだけ優れているかを考えて、この質問を将来の訪問者のために解決したものとしてマークしてみましょう。

+0

cquirozがscala-java-timeを実装している場合は+1。 2017年5月17日の私の最後のメモを参照してください:) そして、私は答えとしてこれをチェックします。 – bwbecker

関連する問題