我有一个很奇怪的问题。我正在使用joda时间来返回两个包含完整分钟的时间段之间的时差。也就是说,秒始终为零。由于某种原因,joda时间有时会返回59秒,时差为1分钟。有人知道为什么吗?
时间差的计算:
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秒。
最佳答案
解:
我是个白痴。我忘记了乔达的时间是毫秒。休息时间...