Scalaでjoda-timeライブラリを用いて、現在日時をyyyy-MM-dd HH:mm:ss
形式で整形する方法。
MySQLのDATETIME
型に保存する際の変換などに使う。
import org.joda.time.DateTime
import org.joda.time.format._
val dateTime = new DateTime()
// dateTime: org.joda.time.DateTime = 2014-10-30T09:29:29.899Z
val dateString = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").print(dateTime)
// dateString: String = 2014-10-30 09:28:09
上の例では実行環境のタイムゾーンになる。UTCでフォーマットしたい場合は、タイムゾーンをUTCに指定したDateTimeオブジェクトを渡す。
import org.joda.time.DateTime
import org.joda.time.format._
import org.joda.time.DateTimeZone
val dateTime = new DateTime()
// dateTime: org.joda.time.DateTime = 2014-10-30T09:30:11.634Z
val dateString = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").print(dateTime.withZone(DateTimeZone.UTC))
// dateString: String = 2014-10-30 09:30:11
なお、joda-timeを使うためには、build.sbt の libraryDependencies
に joda-time
と joda-convert
を書いておく。
build.sbt
libraryDependencies ++= Seq(
"joda-time" % "joda-time" % "2.3",
"org.joda" % "joda-convert" % "1.6"
)