scalaでdatetime/timestampを使用する簡単な方法はありますか?ベストプラクティスは何ですか?私は現在、データを保持するために「日付」を使用していますが、現在の時間も維持したいと思います。 私は日付を設定するのに苦労しています。これは私のコードです:scalaでdatetime/timestampを使用する
val now = new java.sql.Timestamp(new java.util.Date().getTime)
また、私はこれを実行しようとしました:
val now = new java.sql.Date(new java.util.Date().getTime)
"タイムスタンプ" に私の進化にデータ型を変更する場合、私はエラーを得た:
case class MyObjectModel(
id: Option[Int],
title: String,
createdat: Timestamp,
updatedat: Timestamp,
...)
object MyObjectModel{
implicit val myObjectFormat = Json.format[MyObjectModel]
}
コンソール:
app\models\MyObjectModel.scala:31: No implicit format for
java.sql.Timestamp available.
[error] implicit val myObjectFormat = Json.format[MyObjectModel]
[error] ^
[error] one error found
[error] (compile:compileIncremental) Compilation failed
アップデート:
object ProcessStepTemplatesModel {
implicit lazy val timestampFormat: Format[Timestamp] = new Format[Timestamp] {
override def reads(json: JsValue): JsResult[Timestamp] = json.validate[Long].map(l => Timestamp.from(Instant.ofEpochMilli(l)))
override def writes(o: Timestamp): JsValue = JsNumber(o.getTime)
}
implicit val processStepFormat = Json.format[ProcessStepTemplatesModel]
}