2016-07-09 15 views
0

上で実行し、私は私がローカルで私のラップトップ上で上記のコードを実行すると10桁IntegerJAVAプログラムの出力差は、Windowsのラップトップ

SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyyddMM"); 
Integer dateIntFormat = DATE_FORMAT.parse("20100405").getTime()/1000; 

Dateオブジェクトに変換するJavaコードのこれらの行を持っています私が手

dateIntFormat = 1272927600; 

しかし、同じコードがトラヴィス上で実行されたとき、私は

dateIntFormat = 1272931200; 
を取得します

誰でも理由を説明し、ローカルマシンでそれを修正する方法はありますか?

+1

が見えますCIサーバー。あなたが取得している数字には、時間帯が含まれています。これは、異なる時間帯で異なります。これを解決する最良の方法は、なぜこの整数が必要なのかによって異なります。 – yole

+0

'yyyyddMM'は役に立たない、標準ではない、ソートできない日付形式です。あなたは***確かですか***これは正しいですか? –

+0

@yole私はREST APIからjsonデータを取得しようとしています。私が使用しているREST APIは、日付を10桁の整数に変換し、それを使用して特定の日からデータを取得します。私はタイムゾーンが問題かもしれないと思う。 –

答えて

2

あなたはタイムゾーン情報を追加して試すことができます:

DATE_FORMAT.setTimeZone(TimeZone.getTimeZone("TIME_ZONE")); 

あなたはこのようなJavaで利用可能な時間帯を見つけることができます:あなたはあなたのラップトップ上とで異なるタイムゾーンの設定を持っているよう

String[] ids = TimeZone.getAvailableIDs(); 
関連する問題