今回はJavaでのStringとDateの変換を解説していきます。
文字列からDateに変えたり、その逆というのはよくあると思います。
現場でよく使われているJava7までの基本的な変換方法について説明します。
Java8以降ではLocalDateTimeに日付の扱いが置き換わってしますので、今回は説明は割愛します。
LocalDateTimeについては、また後日解説記事を書くと思います。
JavaでのString⇔Date変換
変換の基本はSimpleDateFormatに日付の形式を指定してnewするだけです。
あとはDate→Stringならformat、String→Dateならparseメソッドを使用するというイメージです。
DateからString
表示したい形式を引数にして、SimpleDateFormatクラスをnewします。
その後、formatメソッドにDateを引数で渡すとStringクラスとなります。
1 2 3 4 5 |
Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E曜日"); String dateStr = sdf.format(date); |
StringクラスからDateクラス
文字列の記述形式を引数にして、SimpleDateFormatクラスをnewします。
その後、parseメソッドにStringを引数で渡すとDateクラスとなります。
1 2 3 4 5 |
String dateStr = "2018/03/18 10:00"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm"); Date date = sdf.parse(dateStr); |
以上で変換の解説は完了です。
SimpleDateFormatに渡す形式については、oracleのページを参照してください。