私はJavaにかなり慣れておらず、24時間形式を使用して時間をフォーマットしようとしています。時間のフォーマットには、HHとkkの2つの方法があります。
SimpleDateFormat format1 new SimpleDateFormat("HH:mm");
SimpleDateFormat format2 new SimpleDateFormat("kk:mm");
Date date = new Date();
System.out.println(format1.format(date));
System.out.println(format2.format(date));
これらは両方とも11:21のようなものを生成します。それらの違いは何ですか?私は何かが足りないのですか?
2つの形式は基本的に同じことを行いますが、midnight
の処理方法が異なります。 kk
はmidnight
を24:00
にフォーマットしますが、HH
は00:00
にフォーマットします。 k
の1日の時間は1-24
であり、H
の時間は0-23
です。
Javaドキュメント は、一般的に非常に役立つ説明と使用例を提供するため、常に確認する価値があります。
これを試して違いを確認してください
SimpleDateFormat format1 = new SimpleDateFormat("HH:mm");
SimpleDateFormat format2 = new SimpleDateFormat("kk:mm");
Date date = new GregorianCalendar(2001, 0, 1, 0, 0 , 0 ).getTime();
System.out.println(format1.format(date));
System.out.println(format2.format(date));
出力
00:00
24:00