-1

Calendar.getTime() メソッドを使用してデバイスの時刻を取得しました。The time returned is Tue Feb 01 11:33:35 PST 2000". 次に、SimpleDateFormat.format(Calendar.getTime()) は、入力値 19:33 (24 時間形式) に対して 7:33 PM (TIME_ONLY 形式) を返します。 .

これは私を困惑させます。後で getTimeInstance() を使用して、Calendar.getTime() によって返された時刻を確認しました。値は :11:33:35 AM です

タイムゾーンをデバイスのタイムゾーンとして SimpleDateFormat に設定しました。

今、あなたの提案が必要です。DateFormat を使用して時間を解析し、S​​impleDateFormat.format(Calendar.getTime()) にもかかわらず値を返す必要があります。

Calendar.getTime() がデバイス時間を返し、SimpleDateFormat.format() がデバイス timeone を使用していることを理解しています。それが12時間形式の理由かもしれません。しかし、Calendar.getTime() が PST で時間を返す理由と、SimpleDateFormat.format() がそれを GMT に変換して同じものを表示する理由です。

これを理解するのを手伝ってください。

4

2 に答える 2

0

試す

SimpleDateFormat dateFormat= new SimpleDateFormat("h:mm:s  a");
System.out.println(dateFormat.format(new Date()));
于 2012-09-02T05:47:20.023 に答える
0

日付を必要な形式に解析しました。

于 2012-09-04T05:48:43.280 に答える