1

Calendarのように、hh:mm+-UTCoffset の形式でa を文字列に変換しています13:37-0500。タイムゾーンを 2 桁に制限してカレンダーをフォーマットするにはどうすればよいですか? (さらに: 4 桁は何のためですか?タイムゾーンの違いは常に 2 桁ではありませんか?)

最後の2桁を切り捨てるには、これが現時点での私の方法です:

DateFormatUtils.format(date, "HH:mmZ").substring(0, 8);

しかし、これをもっとエレガントにできないでしょうか? ここで部分文字列を作成するのは適切ではありません...

4

2 に答える 2

1

この回答は、2 番目の質問に対するものです。

4桁は何ですか?タイムゾーンの違いは常に 2 桁ではありませんか?

少なくとも 1 つのタイムゾーンがあります。イランで使用されている中東時間は GMT +3.5 として定義されているため、このタイムゾーンには 2 桁では収まりません。

于 2013-11-12T13:32:39.840 に答える
1

Xの代わりに使用しZます。サンプルコードを見てください:

    SimpleDateFormat sdf=new SimpleDateFormat("HH:mmX");
    Date date=new Date();
    System.out.println(sdf.format(date));

出力: 18:44+06

于 2013-11-12T12:45:57.540 に答える