我不知道下面的代码有什么问题,但输出很奇怪。
我的目的是从输入的大秒数中获取天数、小时数、分钟数和秒数。
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...
最佳答案
我找到了解决这个问题的方法。 需要修改 3 处内容。
Period period = new period(毫秒)//不是秒或微 秒
period.toStandardDuration().getStandardDays()
获取天数period.getHours()
,period.getMinutes()
,period.getSeconds()
获取 小时数、分钟数和秒数
我不知道这是对是错,但结果是正确的。
关于jodatime - 根据秒数计算天、小时、分钟和秒的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13799039/