Android 格式化系统.currentTimeMillis()

Android 格式化系统.currentTimeMillis(),android,date,formatting,Android,Date,Formatting,我正在尝试将以下时间格式化为hh:mm:ss: long elapsed; elapsed = ((System.currentTimeMillis() - startTime) / 1000); 做这件事的方法是什么?我建议你用这个? 从该页面可以看到一个具有多种格式的示例: String[] formats = new String[] { "yyyy-MM-dd", "yyyy-MM-dd HH:mm", "yyyy-MM-dd HH:mmZ", "yyyy-M

我正在尝试将以下时间格式化为hh:mm:ss:

long elapsed;
elapsed = ((System.currentTimeMillis() - startTime) / 1000);
做这件事的方法是什么?

我建议你用这个? 从该页面可以看到一个具有多种格式的示例:

 String[] formats = new String[] {
   "yyyy-MM-dd",
   "yyyy-MM-dd HH:mm",
   "yyyy-MM-dd HH:mmZ",
   "yyyy-MM-dd HH:mm:ss.SSSZ",
   "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
 };
 for (String format : formats) {
   SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
   System.err.format("%30s %s\n", format, sdf.format(new Date(0)));
   sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
   System.err.format("%30s %s\n", format, sdf.format(new Date(0)));
 }

您可以使用Androids版本的:

请注意,已用时间应以毫秒为单位,因此您应该删除
/1000

试试这个

long elapsed;
elapsed = ((System.currentTimeMillis() - startTime) / 1000);

String display = String.format("%02d:%02d:%02d", elapsed / 3600, (elapsed % 3600) / 60, (elapsed % 60));
System.out.println(display);

让我知道会发生什么。

检查这个,希望这能帮助您了解[如何在Java中将毫秒转换为“X分X秒”?][1][1]:如果我们谈论的是经过的时间,最好使用
kk
代替
hh
,否则0小时将显示为12。
long elapsed;
elapsed = ((System.currentTimeMillis() - startTime) / 1000);

String display = String.format("%02d:%02d:%02d", elapsed / 3600, (elapsed % 3600) / 60, (elapsed % 60));
System.out.println(display);