2017-12-23 17 views
2

エポックタイムメソッドで日付を変換しようとしています。一度弾力を変換1513052423エポックタイムに変換された時間が間違っています

それは私のエポック時間を与える
long epoch = 0; 
try { 
    epoch = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse("12/11/2017 23:20:23") 
      .getTime(); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 

以下これらのコードと
Tuesday 12 December 2017 04:20:23なく23:20:23documentationのSimpleDateFormatによる/

+0

「SimpleDateFormat」は長年にわたり古いものであり、残念ながら面倒です。 Androidの場合でも、JSR-310 AKA 'java.time'、現代のJavaの日付と時刻API、考えを与えることをお勧めします。これは、作業するのがとても素敵で、より明確なコードを提供します。 [ThreeTenABP](https://github.com/JakeWharton/ThreeTenABP)からAndroid上で使用できます。 –

答えて

4

は、ロケールに依存です。あなたのタイムゾーンを確認または設定してください。

sdf.setTimeZone(TimeZone.getTimeZone("GMT")); 
+0

あなたのコードは正しいです。使い方については、ロケールとタイムゾーンは2つの異なる概念であり、実際には互いに関係がありません。フォーマッタのロケールを意味のあるものに設定することもできますが、ここでは関係ありません。 –

関連する問題