我有一个非常奇怪的问题。我正在使用joda时间来返回包含完整分钟的两个时间段之间的差异。也就是说,秒始终为零。出于某种原因,joda时间有时会在1分钟的时间差内返回59秒。任何人都知道为什么?
计算时差:
Period rowTime = new Period ( mTask.getTimestamps ().get ( i - 2 ), mTask.getTimestamps ().get ( i - 1 ) );
获得时间:
String hour = Integer.toString ( rowTime.getHours () );
String minute = Integer.toString ( rowTime.getMinutes () );
String second = Integer.toString ( rowTime.getSeconds () );
测试代码:
LocalDateTime start = mTask.getTimestamps ().get ( i - 2 );
LocalDateTime end = mTask.getTimestamps ().get ( i - 1 );
int startMinute = start.getMinuteOfHour ();
int startSecond = start.getSecondOfMinute ();
int endMinute = end.getMinuteOfHour ();
int endSecond = end.getSecondOfMinute ();
tvRowTime.setText ( startMinute + ":" + startSecond + " > " + endMinute + ":" + endSecond + " > " + hour + ":" + minute + ":"
+ second );
实际上,测试代码清楚地表明开始/结束时间(m:s)1:0/2:0 可以给出0:0:59。即,差异显然是1分钟,但joda时间有时返回59秒。
答案 0 :(得分:1)
解决方案:
我是个白痴。我忘记了joda时间使用毫秒。休息时间......