0

Joda-timeを使用したこの単純なコードがあります。
正常に動作しますが、問題があります。
たとえば、814分を返しますが、コードでは問題ありません。
しかし、結果は814分ではなく、60分未満にしたいと思います。
では、どうすればその814分を変換して、希望する結果を得ることができますか?

同じことが時間でも起こります。

ありがとうございました。

コード:

int days = Days.daysBetween(new DateTime(today), new DateTime(StartTime1)).getDays();

int hours =Hours.hoursBetween(new DateTime(today), new DateTime(StartTime1)).getHours();

int minutes = Minutes.minutesBetween(new DateTime(today),new DateTime(StartTime1)).getMinutes();
4

2 に答える 2

4

Joda-Timeについて間違った質問をしているのではないかと思います。期間クラスを見てみてください:

Period p = new Period(new DateTime(today), new DateTime(StartTime1), PeriodType.dayTime());
int days = p.getDays();
int hours = p.getHours();

つまりPeriod、時間を日と時間に分割し、夏時間を正しく処理します(元の方法と手動の%計算では処理されません)。

于 2012-06-29T09:30:13.417 に答える
1

合計分数があるので、残りの分を60分で割る必要があります(時間変数で時間を追跡していると仮定します)。

minutes = minutes % 60;
于 2012-06-24T13:51:15.907 に答える