5

現在、時間とタイムゾーンを取得できます。しかし、それは常に印刷されました

Wed May 23 11:01:08 GMT+05:30 2012

TimeZone として、私は取得してGMT+05:30います。これの代わりに印刷したいIST

私は試した

 SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");

しかし、それでも私は得ていますGMT+05:30

TimeZone.getDefault().getDisplayName(true, TimeZone.SHORT); is also givine me GMT+05:30

私が試したさまざまなことがありますが、欲望の出力が得られませんでした。を使用Calenderしましたが、まだ印刷できませんIST

ISTTimeで印刷する方法を教えてください(印刷したくありませんIndian standard time

4

2 に答える 2

8

を実際に使用している場所を示していませんSimpleDateFormat。IST を示す短い完全な例を次に示します。

import java.text.*;
import java.util.*;

class Test {
    public static void main(String[] args) {
        SimpleDateFormat sd = new SimpleDateFormat(
            "yyyy.MM.dd G 'at' HH:mm:ss z");
        Date date = new Date();
        // TODO: Avoid using the abbreviations when fetching time zones.
        // Use the full Olson zone ID instead.
        sd.setTimeZone(TimeZone.getTimeZone("IST"));
        System.out.println(sd.format(date));
   }
}

私のマシンでの出力:

2012.05.23 AD at 11:18:08 IST

TimeZone.getDefault()「IST」が表示されない場合は、次のような問題が考えられます。

  • システムが実際にシステムのタイムゾーンを識別できないこと
  • Java インストールに i18n に関する完全なタイム ゾーン情報がないこと

使用している Java のバージョンとプラットフォームは?

于 2012-05-23T05:48:05.747 に答える
0

タイムゾーンの設定が間違っているようです。次のコードが出力されます2012.05.23 AD at 11:30:20 IST

TimeZone.setDefault(TimeZone.getTimeZone("IST"));
SimpleDateFormat f = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");
System.out.println(f.format(new Date()));

ただし、使用する場合TimeZone.setDefault(TimeZone.getTimeZone("GMT+05:30"));

もらいます2012.05.23 AD at 11:30:20 GMT+05:30

入ってくるものは同じです。

于 2012-05-23T06:05:00.967 に答える