DateFormat.format returns 01:00:00 格式为 HH:mm:ss

DateFormat.format returns 01:00:00 with HH:mm:ss format

我正在使用 android.text.format.DateFormat 将长整数转换为小时、分钟和秒。这是我正在测试的代码:

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

这个returns:

01:00:01

这是为什么?根据 SimpleDateFormat 参考,它应该 return 00:00:01 但事实并非如此。我已经尝试了所有组合,但仍然没有区别。如果 DateFormat 不起作用,我可能不得不恢复使用 TimeUnit.MILLISECONDS.to... 方法。

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