2016-04-23 12 views
1

長時間、分、秒に変換するのにandroid.text.format.DateFormatを使用しています。ここで私がテストしていたコードは次のとおりです。DateFormat.formatはHH:mm:ss形式の01:00:00を返します

DateFormat.format("HH:mm:ss", 1000) 

これが返されます。

01:00:01 

これはなぜですか? SimpleDateFormatの参照によると、それは00:00:01を返すはずですが、そうではありません。私はすべての組み合わせを試して、まだ違いはありません。 DateFormatが機能しない場合は、TimeUnit.MILLISECONDS.to...メソッドの使用に戻す必要があります。

+0

注ようなものが必要これとともに。 – Savior

+1

タイムゾーンがGMT + 1だった場合、1970年1月1日(エポック)の日付に英国時間を暗黙的に使用しています。 –

答えて

2

DateFormatは、あなたの現地時間帯を守っています。私はあなたの質問を理解していれば、あなたが本当に起こっている場所それはだ場合、あなたは(予想通り)

DateFormat df = new SimpleDateFormat("HH:mm:ss"); 
df.setTimeZone(TimeZone.getTimeZone("UTC")); 
String str = df.format(1000); 
System.out.println(str); 

出力され、日付が期間または間隔がないことを

00:00:01 
+0

ありがとう!タイムゾーンをUTCに設定し、時間を設定し、以前と同じようにCalendarインスタンスでDateFormatを使用して、Calendarインスタンスを使用して少し異なるメソッドを使用して終了しました。 – Timmo

関連する問題