SimpleDateFormatのk
人の書いたソースを見ていたら、SimpleDateFormatの書式に"kk:mm"というのがあって、kってなんだろうと調べてみたら時間を1-24で表現する書式のようだ。
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.MONTH, Calendar.DECEMBER);
cal.set(Calendar.DAY_OF_MONTH, 31);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
Date date = cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd kk:mm");
System.out.println(sdf.format(date));
sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
System.out.println(sdf.format(date));
2006/12/31 24:00 2006/12/31 00:00
なんか日付との整合性が合わないな。これって本当は2006/12/30 24:00じゃないの? kを使う時は日付を使用してはいけないのかな。





