If I'm not wrong, Dateutils.PeriodBetween truncates the result (i tried only with seconds). if the difference is 1.999 ms (ticks) it returns 1 sec. A PeriodBetween2 or with an additional rounding parameter.