【问题标题】:Formatting System.currentTimeMillis()格式化 System.currentTimeMillis()
【发布时间】:2012-05-08 09:26:45
【问题描述】:

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

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

这样做的方法是什么?

【问题讨论】:

标签: android date formatting


【解决方案1】:

你可以使用DateFormat的Androids版本:

DateFormat.format("hh:mm:ss", elapsed);

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

【讨论】:

  • 如果我们谈论经过的时间,最好使用kk 代替hh,否则0 小时将显示为12。
【解决方案2】:

试试这个,

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);

让我知道发生了什么..

【解决方案3】:

我建议您为此使用SimpleDateFormat? 从该页面中获得了多种格式的示例:

 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)));
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 2012-02-27
    • 1970-01-01
    相关资源
    最近更新 更多