-1

ねえ、長い時間を分:秒:ミリ秒にフォーマットする方法を知っString.format(0#.0#.###)ています。

4

3 に答える 3

2

1.5にはjava.util.concurrent.TimeUnitクラスがあるため、次のように使用します。

long millis = System.currentTimeMillis();
String.format("%d min, %d sec", 
TimeUnit.MILLISECONDS.toMinutes(millis),
TimeUnit.MILLISECONDS.toSeconds(millis) - 
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))
);

1.5未満のJavaバージョン、またはTimeUnitクラスを完全にサポートしていないシステム(APIバージョン9より前のAndroidなど)の場合、次の式を使用できます。

int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours   = (int) ((milliseconds / (1000*60*60)) % 24);
于 2012-12-29T12:54:46.590 に答える
2

1時間未満であると仮定して、SimpleDateFormatを使用します。

String text = new SimpleDateFormat("mm:ss:SSS").format(new Date(time));

または、単純な数学を使用できます。

String text = String.format("%02d:%02d:%03d", time/60000, time/1000%60, time/1000);
于 2012-12-29T12:55:58.330 に答える
0

long timeDiff = (d1.getTime() - d2.getTime());

    String diff=String.format("%d year(s) %d day(s) %d hour(s) %d min(s) %d sec(s)",(TimeUnit.MILLISECONDS.toDays(timeDiff)/365),TimeUnit.MILLISECONDS.toDays(timeDiff)%365,
            TimeUnit.MILLISECONDS.toHours(timeDiff)
            - TimeUnit.DAYS.toHours(TimeUnit.MILLISECONDS
            .toDays(timeDiff)),
            TimeUnit.MILLISECONDS.toMinutes(timeDiff)
            - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS
            .toHours(timeDiff)),
            TimeUnit.MILLISECONDS.toSeconds(timeDiff)
            - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS
            .toMinutes(timeDiff)));
    System.out.println(diff);

ここで d1 と d2 に正しい日付を指定します。すると、差の正しい答えが得られます。

于 2012-12-29T12:52:57.360 に答える