[解決済み] Scalaで日付や時刻を扱う標準的な方法は何ですか?Java型を使うべきか、それともScalaのネイティブな代替手段があるのか?
2022-04-24 18:49:02
質問
Scalaで日付や時刻を扱う標準的な方法は何ですか?java.util.DateのようなJavaの型を使うべきでしょうか、それともScalaのネイティブな代替手段があるのでしょうか?
どのように解決するのですか?
Java SE 8以降では、java.time(JSR-310)への移行が求められています。java.timeをscala用にラッピングしたscalaライブラリを作成する取り組みが行われています。 スカラタイム . SE 8 未満をターゲットとする場合は、以下のいずれかを使用してください。また、以下を参照してください。 JSR-310がJoda-Timeでない理由
すごいぞscala 人気のあるScalaのDateTimeのAPIを多数掲載しています。
Joda Time の新しい Scala ラッパーです。 . このプロジェクトは scala-time からフォークされました。
import com.github.nscala_time.time.Imports._
DateTime.now // returns org.joda.time.DateTime = 2009-04-27T13:25:42.659-07:00
DateTime.now.hour(2).minute(45).second(10) // returns org.joda.time.DateTime = 2009-04-27T02:45:10.313-07:00
DateTime.now + 2.months // returns org.joda.time.DateTime = 2009-06-27T13:25:59.195-07:00
DateTime.nextMonth < DateTime.now + 2.months // returns Boolean = true
DateTime.now to DateTime.tomorrow // return org.joda.time.Interval = > 2009-04-27T13:47:14.840/2009-04-28T13:47:14.840
(DateTime.now to DateTime.nextSecond).millis // returns Long = 1000
2.hours + 45.minutes + 10.seconds
// returns com.github.nscala_time.time.DurationBuilder
// (can be used as a Duration or as a Period)
(2.hours + 45.minutes + 10.seconds).millis
// returns Long = 9910000
2.months + 3.days
// returns Period
ジョダ時間 は優れた Java ライブラリですが、Joda Time 用の Scala ラッパー/暗黙の変換ライブラリが以下のサイトにあります。 スカラタイム 作成者 ホルヘ・オルティス . (インプリシットにはパフォーマンス上の問題があることに注意してください。) しかし、あなたが気づくかどうかは、あなたが何をするかによります。そして、もしパフォーマンスの問題にぶつかったら、Jodaインターフェースに戻せばいいだけです)
READMEより。
USAGE:
import org.scala_tools.time.Imports._
DateTime.now
// returns org.joda.time.DateTime = 2009-04-27T13:25:42.659-07:00
DateTime.now.hour(2).minute(45).second(10)
// returns org.joda.time.DateTime = 2009-04-27T02:45:10.313-07:00
DateTime.now + 2.months
// returns org.joda.time.DateTime = 2009-06-27T13:25:59.195-07:00
DateTime.nextMonth < DateTime.now + 2.months
// returns Boolean = true
DateTime.now to DateTime.tomorrow
// return org.joda.time.Interval =
// 2009-04-27T13:47:14.840/2009-04-28T13:47:14.840
(DateTime.now to DateTime.nextSecond).millis
// returns Long = 1000
2.hours + 45.minutes + 10.seconds
// returns org.scala_tools.time.DurationBuilder
// (can be used as a Duration or as a Period)
(2.hours + 45.minutes + 10.seconds).millis
// returns Long = 9910000
2.months + 3.days
// returns Period
関連
-
[解決済み] ScalaのSeqとListの違いについて
-
[解決済み] SQL Server における DateTime2 と DateTime の比較
-
[解決済み] java.time.LocalDateTimeとjava.util.Date間の変換について
-
[解決済み] Python の datetime からマイクロ秒成分を含まない文字列への変換
-
[解決済み] Scalaのcase classとclassの違いは何ですか?
-
[解決済み] Ruby on Railsで、DateTime、Timestamp、Time、Dateの違いは何ですか?
-
[解決済み] LocalDateTimeで日付をパース/フォーマットする方法は?(Java 8)
-
[解決済み】ISO 8601とRFC 3339の日付書式の違いは何ですか?
-
[解決済み】Java 8 の Date Time API (java.time) と Joda-Time の相違点
-
[解決済み] moment.js で datetime を YYYY-MM-DD HH:mm:ss にフォーマットする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Crystal Reportsで現在の日付と時刻を表示するにはどうすればよいですか?
-
[解決済み] 2つの日付範囲が重なっているかどうかを判定する
-
[解決済み】ISO 8601とRFC 3339の日付書式の違いは何ですか?
-
[解決済み】datetime.dateとdatetime.timeのオブジェクトを組み合わせるPythonicな方法
-
[解決済み】mongodbで日付/時刻を保存する最良の方法
-
[解決済み】postgresで間隔を時間数に変換するにはどうすればいいですか?
-
[解決済み】PowerShellでDateTimeをフォーマットする方法
-
[解決済み] Scalaで日付や時刻を扱う標準的な方法は何ですか?Java型を使うべきか、それともScalaのネイティブな代替手段があるのか?
-
[解決済み] moment.js で datetime を YYYY-MM-DD HH:mm:ss にフォーマットする
-
[解決済み] UTCとGMTの違いは何ですか?