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 天,...blah..blah...

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 回答