1

現在の時刻を表示するこのコードを作成しましたが、私の問題は、午前または午後の形式で時刻を表示せず、たとえば12:00だけを表示することです。午前または午後なし

    java.util.Calendar thetime = java.util.Calendar.getInstance();
    int h = thetime.get(java.util.Calendar.HOUR_OF_DAY);
    int m = thetime.get(java.util.Calendar.MINUTE);

    System.out.println("the current time is"+ h +":"+m);
4

6 に答える 6

6

追加してみてください:

int a_p = thetime.get(java.util.Calendar.AM_PM);
String am_pm;
if(a_p==0)
    am_pm = "AM";
else
    am_pm = "PM";

am_pm次に、出力の最後に追加します。

とにかく、SimpleDateFormat を優先する必要があります。こちらを参照してください

于 2012-04-16T09:15:06.383 に答える
4

むしろSimpleDateFormatを使用する必要があります。

String time = new SimpleDateFormat("h:mm a").format(new Date());
于 2012-04-16T09:09:23.690 に答える
1

サーブレットは値のみを出力するため、DateFormat を使用して値を出力する方法を設定することをお勧めします。

例として:

DateFormat.getDateInstance(DateFormat.SHORT, <put your locale here>);

詳細については、こちらの DateFormat クラスを参照してください。

于 2012-04-16T09:12:38.677 に答える
1

calendar.get(Calendar.AM_PM)を使用します

現在の時刻が午後の場合は整数値 1 を返し、そうでない場合は午前を示す 0 を返します。このリンクを通過..

于 2012-04-16T09:15:33.070 に答える
1

手動で行うこともできます。

String ampm = h > 12 ? "PM" : "AM";
// now print the variable ampm

または、SimpleDateFormat を使用することをお勧めします。構成方法については、このクラスの javadoc を参照してください。最初は 5 分かかりますが、時間を節約できます。

于 2012-04-16T09:09:53.327 に答える
0

DateFormatter を使用して、時刻を文字列形式で表示します。ここ

于 2012-04-16T09:08:31.980 に答える