根据秒数计算天数,小时数,分钟数和秒数

时间:2012-12-10 10:26:03

标签: jodatime

我不知道下面的代码有什么问题,但输出很奇怪。 我的目的是从输入的大秒数中获得(天,小时,分钟和秒)的数量。

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 ...

1 个答案:

答案 0 :(得分:2)

我找到了出路。 要修改的3件事。

  1. 期间段=新期间(毫秒)//不是秒或微秒 秒
  2. period.toStandardDuration()。getStandardDays()获取天数
  3. period.getHours(),period.getMinutes(),period.getSeconds()得到 小时,分钟和秒数
  4. 我不知道这是对还是错,但结果是正确的。