1

私はlift-mongodb-record 2.4を使用しています。すべての MongoRecord モデルには、次のDateTimeFieldフィールドが含まれています。

object created_at extends DateTimeField(this)

このモデルで asJSON を呼び出すと、日付が解析されて文字列に変換されます。

Mon, 16 Jul 2012 21:26:58 GMT

私は他のフォーマットを好むでしょう(例:ISO 8601、実際のユースケースに依存します)

カスタム フォーマットを設定する方法と場所

ありがとう

4

1 に答える 1

1

デフォルトの実装では、次のようにいわゆるインターネット日付が使用されるため、asJValuesetFromJValueをオーバーライドするとうまくいくはずです。

val statusDate = new DateTimeField(this){

  val sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
  override def asJValue = {
    asJString(v => sdf.format(v.getTime))
  }

  override def setFromJValue(jvalue: JValue) = setFromJString(jvalue) {
    v =>tryo {
        sdf.parse(v)
      }.map(d => {
      val cal = Calendar.getInstance
      cal.setTime(d)
      cal
    })
  }
}
于 2012-09-20T12:53:49.960 に答える