日付をフォーマットする
DBより取得した値を、MM月dd日に変換する。
ただし、一桁の場合はスペース埋めを行う。
(ゼロ埋めなら簡単なのに・・・)
// DB取得値のつもり String dateStr = "2010-02-19 23:44:40"; // Dateに変換 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date date = sdf.parse(dateStr); // Calendarを取得 Calendar calendar = Calendar.getInstance(); calendar.setTime(date); // フォーマット int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); String formatDate = String.format("%2d月%2d日", month, day); // 出力 System.out.println(formatDate);
出力結果
2月19日
↑スペースがちゃんと出力されています。
もっと簡単にできると思うんだけど・・・
ちなみに、ゼロ埋めで良ければ
// フォーマット SimpleDateFormat sdf2 = new SimpleDateFormat("MM月dd日"); String formatDate2 = sdf2.format(date); // 出力 System.out.println(formatDate2);
出力結果
02月19日
ゼロ埋めならこんなに簡単。
仕様変更してくれんかなー。(たぶん無理)