Joda时间有时会返回59秒,相差一分钟

时间:2013-11-26 06:39:01

标签: android jodatime

我有一个非常奇怪的问题。我正在使用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秒。

1 个答案:

答案 0 :(得分:1)

解决方案:

我是个白痴。我忘记了joda时间使用毫秒。休息时间......