2012-05-10 10 views
3

私は期間を使用して2つのDateTimesの時間差を取得しています。Joda DateTimeとPeriodFormatの違いは1:30

Period p = new Period(startDate, endDate, 
       PeriodType.standard().withSecondsRemoved().withMillisRemoved()); 

     return PeriodFormat.getDefault().print(p); 

「1時間30分」の形式で表示されます。

"1:30"や ":15"のようなものを取得するにはどうすればよいですか?分間

public static int getHoursDifference(DateTime startDate, DateTime endDate) { 
     Period p = new Period(startDate, endDate); 
     return p.getHours(); 
    } 

と同様にして、連結...:

は、私は私のような何かができると仮定しますか?

答えて

4

PeriodFormatterBuilderを使用できます。線に沿って

何か:

PeriodFormatter formatter = new PeriodFormatterBuilder() 
    .minimumPrintedDigits(2) 
    .printZeroAlways() 
    .appendHours() 
    .appendSeparator(":") 
    .appendMinutes() 
    .toFormatter(); 

は、あなたが、あなたが現在使用しているデフォルトの代わりに使用することができ、私はそれはあなたの形式に似て何かを与えるだろうと思いフォーマッタを与えますあなたが探しています。もちろん興味があれば、他のフィールドを追加することもできます。

minimumPrintedDigitsprintZeroAlwaysの呼び出しを変更またはスキップすると、ゼロの場合は時間部分が表示されず、ゼロのない場合は時間部分が表示されない場合があります。

関連する問題