1

重複の可能性:
Java で期間を計算し、出力をフォーマットするにはどうすればよいですか?

変換して2つの時間を長くし、再び時間に戻す方法は?

long に変換して 2 つの時間を減算してみました。

    Long timeSpan = Long.valueOf(timespan.getValue().toString()) * 60;
    Long checkVar = (date.getTime() - testStartTime.getTime()) / 1000;

結果の long を時間に変換するにはどうすればよいですか?

つまり、結果の長さが 30 分である場合、表示したい 00:30:00 です。

これどうやってするの?

前もって感謝します

4

3 に答える 3

4

秒単位の時間を個々のHH:MM:SSコンポーネントに変換するのは簡単です。

int h = checkVar / 3600;
int m = (checkVar / 60) % 60;
int s = (checkVar % 60);

String time = String.format("%02d:%02d:%02d", h, m, s);
于 2012-08-21T06:48:58.307 に答える
2

すでに提案されているように、Joda Timeを見てください。

PeriodFormatter timeFormatter = new PeriodFormatterBuilder().printZeroAlways().
                appendHours().appendSeparator(":").
                appendMinutes().appendSeparator(":").
                appendSeconds().toFormatter();

DateTime startTime = new DateTime(1972, 3, 8, 15, 30);
DateTime endTime = new DateTime();

Period period = new Period(startTime, endTime);
int days = period.getDays();
int months = period.getMonths();
int years = period.getYears();

System.out.println(period.toString(timeFormatter));
于 2012-08-21T07:18:43.197 に答える
0
Date elapsed = new Date(checkVar);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String formatedTime = sdf.format(elapsed);
于 2012-08-21T06:51:29.540 に答える