2

以下のコードの何が問題なのかはわかりませんが、出力は非常に奇妙です。

私の目的は、入力された大きな秒数から (日、時間、分、および秒) の数を取得することです。

int numSeconds = 612372;
// int numSeconds = 898298;
Seconds nSeconds = Seconds.seconds(numSeconds);
Period period = new Period(nSeconds);
PeriodFormatter dhm = new PeriodFormatterBuilder()
.appendDays()
.appendSuffix(" day", " days")
.appendSeparator(", ")
.appendHours()
.appendSuffix(" hour", " hours")
.appendSeparator(", ")
.appendMinutes()
.appendSuffix(" minute", " minutes")
.appendSeparator(", ")
.appendSeconds()
.appendSuffix(" second", " seconds")
.toFormatter();

System.out.println(dhm.print(period.normalizedStandard()));

// very weird output
// 2 hours, 6 minutes, 12 seconds

それは7日を印刷するはずです、...何とか..何とか...

4

1 に答える 1

2

私はこれを解決する方法を見つけました。変更する3つのこと。

  1. Period period = new Period(millisecond) // not seconds or micro seconds
  2. period.toStandardDuration().getStandardDays()日数を取得するには
  3. period.getHours()、、時間period.getMinutes()period.getSeconds()分、秒の数を取得するには

これが正しいか間違っているかはわかりませんが、結果は正しいです。

于 2012-12-10T13:52:36.370 に答える