Scalaでjoda-timeライブラリを用いて、現在日時を[ISO-8601]形式で整形する方法。
import org.joda.time.DateTime
import org.joda.time.format._
val parserISO = ISODateTimeFormat.dateTimeNoMillis()
val dateString = parserISO.print(new DateTime())
// dateString: String = 2014-06-30T07:13:33+09:00
上の例では実行環境のタイムゾーンになる。UTCでフォーマットしたい場合は、タイムゾーンをUTCに指定したDateTimeオブジェクトを渡す。
import org.joda.time.DateTime
import org.joda.time.format._
import org.joda.time.DateTimeZone
val parserISO = ISODateTimeFormat.dateTimeNoMillis()
val dateString = parserISO.print(new DateTime().withZone(DateTimeZone.UTC))
なお、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"
)