9

Joda Time を使用して、2 つの時間 P (開始時間) と Q (終了時間) の差を取得したいと考えています。P と Q は、異なる日の時間である場合もあれば、同じ日の時間である場合もあります。HH-MM-SS (H=時間、M=分、S=秒) の形式で違いを取得したいと考えています。

この機能をタイマーで使用したいと考えています。私のタイマーを使って 24 時間以上測定する人はいないと思います。

これを行うように私を導いてください。

4

2 に答える 2

19

Joda 時間に関する FAQ http://joda-time.sourceforge.net/faq.html#datediffをご覧ください。

また、 a を使用しPeriodFormatterて、選択した形式を取得できます。次のサンプル コードを試してください。

DateTime dt = new DateTime();
DateTime twoHoursLater = dt.plusHours(2).plusMinutes(10).plusSeconds(5);
Period period = new Period(dt, twoHoursLater);
PeriodFormatter HHMMSSFormater = new PeriodFormatterBuilder()
        .printZeroAlways()
        .minimumPrintedDigits(2)
        .appendHours().appendSeparator("-")
        .appendMinutes().appendSeparator("-")
        .appendSeconds()
        .toFormatter(); // produce thread-safe formatter
System.out.println(HHMMSSFormater.print(period));
于 2012-09-12T23:29:50.483 に答える