8

私はGregorianCalendarに関するJavaAPIを調べましたが、コンストラクターでam/pmを設定する方法がわかりませんでした。AM / PMをGregorianCalendarの日付に設定できますか、それともカレンダーのgetメソッドを使用してのみ取得できるものですか。これらすべてを自動的に処理しますか?am / pmを取得し、日付オブジェクトを持つクラスのtoStringに出力しようとしています。これを実現するために、カレンダーでgetメソッドを使用する予定でした。am/pmが0または1のintであることを理解しています。

グレゴリオ暦ではすべての時間が24時間形式であり、午前と午後が自動的に決定されますか?

4

3 に答える 3

41
Calendar.get(Calendar.HOUR);

AM / PM形式の時間(0〜12)を示します。

Calendar.get(Calendar.HOUR_OF_DAY);

0〜24の範囲の時間を示します。

それはそれ自身で変換を行います。あなたはそれを言う必要はありません。

cal.set( Calendar.AM_PM, Calendar.AM )

このカレンダーオブジェクトが表す時点を変更します/変更できます。(午後1時の場合は、その後午前1時となります)。これは当てはまりますGregorianCalendar(Peter Cetinskiによる質問へのコメントを参照)。

ところで/ヒントimoを使用しDateFormat、好みの形式を出力する必要があります。

于 2012-03-12T12:52:25.220 に答える
6
Calendar cal = new GreogorianCalendar();   
cal.set( Calendar.AM_PM, Calendar.AM );
于 2012-03-12T12:38:34.357 に答える
1

単に私はこれをしました:

Calendar calendar = new GregorianCalendar();
    int seconds = calendar.get(Calendar.SECOND);
    int minutes = calendar.get(Calendar.MINUTE);
    int hour = calendar.get(Calendar.HOUR);
    int am_pm = calendar.get(Calendar.AM_PM);
    String ampm = "ampm";
    if (am_pm == 0) {
        ampm = "AM";
    } else {
        ampm = "PM";
    }
    jLabel1.setText(hour + ":" + minutes + ":" + seconds + " " + ampm);
于 2019-01-07T18:00:51.007 に答える