私はミリ秒をアンドロイドのJavaコードの日付時刻文字列に変換したい、例えば:
msecs = 60*60*1000;
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
String dateString = formatter.format(new Date(msecs * 1L));
しかし、出力を1:00:00にしたい場合、結果は19:00:00です。
このコードで何が間違っていますか?
回答:
回答№1は1次のようなタイムゾーンを「GMT」に設定する必要があります。
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
public class Dater {
public static void main(String[] argv) {
int msecs = 60*60*1000;
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
String dateString = formatter.format(new Date(msecs * 1L));
System.out.println(dateString);
}
}