2012-02-23 6 views

答えて

7

問題は、タイムゾーン、ないDate値そのものであるように思われます。だからではなく、現在の日付を印刷のため、現在のタイムゾーンをプリントアウトするために、このようなものを使用します。たとえば

import java.util.TimeZone ; 

public class Test { 
    public static void main(String[] args) throws Exception { 
     TimeZone zone = TimeZone.getDefault(); 
     System.out.println(zone.getDisplayName()); 
     System.out.println(zone.getID()); 
    } 
} 

、私のために印刷物こと:あなたが何についての詳細を

Greenwich Mean Time 
Europe/London 

を知っていたら、 Javaはあなたのデフォルトタイムゾーンを考えると、を探し始めることができます。理由はと考えています。どのように非標準のJavaを実行しているかについて何かありますか?間違ったタイムゾーンのような疑わしい環境変数はありますか?

ます。また、時間帯を決定する際に使用されている以下のシステムプロパティ、プリントアウトすることがあります:

user.timezone 
user.country 
java.home 

(前は、デフォルトのタイムゾーンを取得し、それらを印刷する - user.timezoneは一部として設定されていますそれは以前に設定されていない場合、それをフェッチする。)

あなたはコードまたはリンクLIBSにどこか他のあなたのタイムゾーンを「強制」している可能性があり
+0

Strange。私はこのプログラムを実行し、それは私にAcre Time America/Rio_Brancoを与えます。私の窓の時間はUTC + 5です。私はそれがなぜこれを考えるのかを見なければならない。 –

+0

また、2人が間違った時間を取得しており、1.6.13バージョンがあります。 1.6.26が正しいとしている人としてはどこにいますか。 –

+0

私は以下の値を得ています。聖なる牛。私のウィンドウの設定は無視されます。 user.timezone = America/Rio_Branco user.country = US java.home = C:\ Program Files \ Java \ jdk1.6.0 \ jre –

3

static { 
     TimeZone.setDefault(anotherTimeZone); 
} 

これは、メインであっても、この種の動作を引き起こします。

+0

しかし、それはどのように動作するのですか? TimeZoneをどこか別のクラスに宣言する必要がありますか? – Tony

1

java.util.Dateはシステム日付を示します。システム時間UTCをGMTに変更します。

関連する問題