0

日付を印刷すると、-6.00 のオフセットが表示されます

2012-12-31T18:00:00 -0600

日付にオフセットを追加するきれいな方法はありますか? に何も表示されませんjava.util.Date

以下を使用して日付を印刷しています。

DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss Z");
String date = sdf.format(new Date(dateInMilliseconds));
4

1 に答える 1

2

オフセットは と関係がありTimeZoneます。

を使用している場合はCalendar、次のように TimeZone を取得できます。

Calendar cal = Calendar.getInstance();
TimeZone tz = cal.getTimeZone();

TimeZone インスタンスがある場合、次のように特定の日付のオフセットを取得できます。

int offset = tz.getOffset(cal.getTime().getTime());

「オフセットを追加できますか?」という質問の意味がわかりません。

日付を標準化したい場合は、UTC 時間を使用できます。

次のような SimpleDateFormat でこれを行うことができます。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(sdf.format(new Date()));

現在の出力:

  2013-06-25T19:09:10
于 2013-06-25T18:56:16.253 に答える