2

次の時間をhh:mm:ssにフォーマットしようとしています。

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

これを行う方法は何ですか?

4

3 に答える 3

3

あなたはのAndroidsバージョンを使用することができますDateFormat

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

経過はミリ秒単位である必要があるため、を削除する必要があることに注意してください/1000

于 2012-05-08T09:32:09.063 に答える
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);

そして、何が起こるか教えてください。

于 2012-05-08T09:32:51.510 に答える
0

そのために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)));
 }
于 2012-05-08T09:30:29.133 に答える