日付のフォーマット

日付をフォーマットする方法の主なものはString.format、printf、及びJavaのSimpleDateFormat辺りだろう。これらのうち、どれを使ってもJavaの書式指示子、フォーマットパターンが利用できる。用途に応じて使い分けよう。

ここではDateをフォーマットしてみる。まずは普通にStringのformatを使った日付のフォーマットである。%t書式指示子の後に続けてY、H等の変換文字を指定する。%<tm以降の書式指示子にある<は、以前の書式指示子の引数を再利用するフラグである。つまり、以下の書式指示子はすべて同じ引数(new Date)を変換している。

println(f"現在日時: ${"%ty/%<tm/%<td %<tH:%<tM:%<tS" format new Date}")

年はあるミドルウェアのログ出力に合わせて2ケタとしてみた。4ケタにする場合は%ty→%tYにすれば良い。

現在日時: 14/06/17 21:35:35

次に、表示に特化した場合はprintfが使える。printfの書式指定子はString.formatと同じである。

printf("現在日時: %ty/%<tm/%<td %<tH:%<tM:%<tS%n", new Date)

最後はJavaのSimpleDateFormat。いくつものDateをフォーマットする必要がある場合、これが一番簡単かもしれないし、更にフォーマットパターンも分かりやすい。

val df = new SimpleDateFormat("yy/MM/dd HH:mm:ss")
println(f"現在日時: ${df.format(new Date)}")

尚、Dateを利用する場合はjava.util.Date、SimpleDateFormatを利用する場合はjava.text.SimpleDateFormatをそれぞれimportするか、またはクラス名をフルパスで指定する必要がある。

(2014/06/17)

新着情報
【オープンソースソフトウェア環境構築】Apple silicon Macで開発環境を構築
【Rust Tips】Actix webでJSONをPOSTする
【Rust Tips】コマンドライン引数を取得する

Copyright© 2004-2018 モバイル開発系(K) All rights reserved.
[Home]