2016-10-05 20 views
0

私のJavaコードが私のMavenプロジェクトの主な機能です。AWS EC2インスタンスLocalDateTimeがシステム日付と一致しません

LocalDateTime localNow = LocalDateTime.now(); 
System.out.println(localNow); 

私はMavenのは、jarファイルを作成するために、インストールを実行すると、私のローカルマシン上の出力は

2016-10-05T12:21:17.646 

と私は私のローカルマシン上でコマンドライン上

date 

を実行しています私は得る

Wed Oct 5 12:21:17 EDT 2016 

それはどのように働くべきかです。コンソールで

date 

Wed Oct 5 12:23:17 EDT 2016 
を起動したときしかし、私は私のEC2インスタンスにアップロードする際に、コードの出力は

2016-10-05T16:23:17.897 

です(私は、これはUTC時間で想像します)

EC2インスタンスの時刻を変更するには、このガイドに従ってください:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html#change_time_zoneそれは明らかにコマンドラインから日付を取得するために働くが、JavaのLocalDateTimeは同意しない。私はjava.time。*を使用しています。

答えて

0

LocalTime.now()は、JVMのデフォルトのタイムゾーンを使用します。取得方法の詳細はhereです。だから何らかの理由であなたのJVMのタイムゾーンがあなたのOSと同じではありません。次のJVMオプションを使用して、タイムゾーンを強制できます。

-Duser.timezone=America/New_York 
関連する問題