0

我有这个简单的代码,使用 Joda-time。
工作正常,但我有一个问题。
比如它返回814分钟,按代码是什么,就可以了。
但我希望结果少于 60 分钟,而不是 814 分钟。
那么,如何转换 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 类:

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 分钟(假设您正在跟踪 hours 变量中的小时数):

minutes = minutes % 60;
于 2012-06-24T13:51:15.907 回答