リファレンストップへ Java | 日付フォーマット使用した環境 JDK 6 Update 11 Date型を見やすいようにフォーマットします。java.text.SimpleDateFormatを使用します。コンストラクタにフォーマット文字列を指定する事で、任意の日付フォーマットを行う事が可能です。 一般的に使用されるのは、以下サンプルのようなフォーマットになります。 import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) throws Exception { Date date = new Date(); SimpleDateFormat format1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.S"); System.out.println(format1.format(date)); SimpleDateFormat format2 = new SimpleDateFormat("yyyy/M/d H:m:s.S"); System.out.println(format2.format(date)); SimpleDateFormat format3 = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒"); System.out.println(format3.format(date)); SimpleDateFormat format4 = new SimpleDateFormat("yyyy年M月d日 H時m分s秒"); System.out.println(format4.format(date)); } } 結果は以下のようになります。 2009/07/06 23:04:52.859 2009/7/6 23:4:52.859 2009年07月06日 23時04分52秒 2009年7月6日 23時4分52秒 他にも様々なフォーマット文字が存在しますが、一般的に使用されるフォーマット文字は以下の通りになります。(というか、下記のフォーマット文字以外のものは、めったに使う事はないでしょう・・)
フォーマット文字は、連続して指定する事で任意の桁数にフォーマットする事ができます。 現在年が2009年だとした場合、"yy"と指定すると"09"、"yyyy"とすると"2009"にフォーマットされます。 同様に、現在が7月だった場合、"M"と指定すると"7"、"MM"とすると"07"となります。 日や時分秒などのフォーマット文字においても同様です。 また、フォーマット文字において、大文字と小文字は明確に区別されます。 また、フォーマット文字列の通りの形式の文字列である場合、その文字列を日付(java.util.Date)に変換(パーズ)する事も可能です。 import java.text.SimpleDateFormat; 結果は以下のようになります。import java.util.Date; public class Main { public static void main(String[] args) throws Exception { String strDate = "2009/07/06 23:35:10"; SimpleDateFormat format1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = format1.parse(strDate); System.out.println(date); } } Mon Jul 06 23:35:10 JST 2009 このサンプルの場合、[strDate]にyyyy/MM/dd HH:mm:ss形式でない文字列が入っていた場合は、 java.text.ParseExceptionが発生する事となります。 |
|