私は新しいDate()オブジェクトを作成します。印刷するデフォルトのタイムゾーンは何になりますか。java.util.Dateのデフォルトのタイムゾーンは何ですか
私のマシンはGMTで動作しています。私は新しいDate()オブジェクトを作成しています。私はなぜそれが表示されます印刷する7月05 08:21:05 PKT 2012.それはどのようにPKTとしてタイムゾーンがかかりますか?
私は新しいDate()オブジェクトを作成します。印刷するデフォルトのタイムゾーンは何になりますか。java.util.Dateのデフォルトのタイムゾーンは何ですか
私のマシンはGMTで動作しています。私は新しいDate()オブジェクトを作成しています。私はなぜそれが表示されます印刷する7月05 08:21:05 PKT 2012.それはどのようにPKTとしてタイムゾーンがかかりますか?
日付自体にはタイムゾーンがありません。そのtoString()
方法は、この日付を表す文字列を返すために、現在のデフォルトのタイムゾーンを使用しています。私のマシンで上記のコードを実行
Date date = new Date();
System.out.println(TimeZone.getDefault());
System.out.println(date);
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
System.out.println(TimeZone.getDefault());
System.out.println(date);
は、次の出力につながる:通常
sun.util.calendar.ZoneInfo[id="Europe/Paris",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=184,lastRule=java.util.SimpleTimeZone[id=Europe/Paris,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]]
Fri Jul 06 09:24:45 CEST 2012
sun.util.calendar.ZoneInfo[id="UTC",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
Fri Jul 06 07:24:45 UTC 2012
eclipseでは、java.lang.dateはcdate.zoneInfoオブジェクトを示します。私のポーからアクセスできないかもしれないかもしれません。日付には関連するタイムゾーンがあります。これは、異なるタイムゾーンに変換するときに重要な役割を果たします。ソースタイムゾーンを知らなければ、変換はできません。あなたは、 "時間帯の問題はありませんか?" –
@ThomasSにはタイムゾーンの問題はありません " - >一つのこととして、ドキュメンテーションには:... Dateクラスは協定世界時(UTC)を反映することを意図しています... –
まあ、実際に基本的な日付時間タイムゾーンには依存しませんが、タイムゾーンは保存しません。タイムゾーンを使用するには、フォーマッター、カレンダーなどを使用します。もちろん、基本日付はデフォルトのタイムゾーン(何時でもGMT)でなければなりません。さもなければ、基本日付インスタンスからローカル日付を作成することができません。
具体的には、JDKは通常java.util.Dateのソースコードで配布されるため、a)javadocsとb)をクラスそのものに組み込むと役立ちます。 javadocによると、java.util.Dateクラスは、「エポック」、すなわち1970年1月1日、00:00:00 GMTと呼ばれる標準ベース時刻からのミリ秒数を表します。
システムに印刷された日付が異なる場合は、システムのタイムゾーンのデフォルトを使用して印刷されるためです。ただし、他のタイムゾーンを使用して自分で印刷することもできます。
linuxで動作している場合は、システムのどこかにマジックタイムゾーンファイルがあります。私はgentooのための魔法だけで、コンテンツ
Europe/Berlin
面白いことがdate
が正しい時刻とタイムゾーン(CEST)のすべての時間を与えたが、JavaはGreenwhichに送ってくれたということであると、テキストファイルの/ etc /タイムゾーンを作成していました。
> date
Thu Sep 18 08:49:14 CEST 2014
http://stackoverflow.com/q/2891361/1465828 – Aprian
おかげでこのリンクを試してみることができます。しかし、私の質問に答えることはできません – user1182253
他の言語によると、少なくともPythonとObjective-Cの日付はこのデフォルトのタイムゾーンで保存されているため、UTCでなければなりません。 –