web-dev-qa-db-ja.com

日付形式のkkとHHの違いjava

私は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のようなものを生成します。それらの違いは何ですか?私は何かが足りないのですか?

14
Ron Jobbins

2つの形式は基本的に同じことを行いますが、midnightの処理方法が異なります。 kkmidnight24:00にフォーマットしますが、HH00:00にフォーマットします。 kの1日の時間は1-24であり、Hの時間は0-23です。

Javaドキュメント は、一般的に非常に役立つ説明と使用例を提供するため、常に確認する価値があります。

27
Josh Roberts

これを試して違いを確認してください

    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
4