difference方法

Duration difference(
  1. DateTime other
)

返回一个other从这个DateTime减去时的Duration

如果other发生在当前DateTime之后,则返回的Duration将是负值。

final berlinWallFell = DateTime.utc(1989, DateTime.november, 9);
final dDay = DateTime.utc(1944, DateTime.june, 6);

final difference = berlinWallFell.difference(dDay);
print(difference.inDays); // 16592

差分以秒和秒的小数部分来衡量。上述差分计算了两个日期午夜之间的小数秒数。如果上述日期是本地时间而不是UTC,则由于夏令时的差异,两个午夜之间的差异可能不是24小时的整数倍。

例如,在澳大利亚,使用本地时间而不是UTC的类似代码

final berlinWallFell = DateTime(1989, DateTime.november, 9);
final dDay = DateTime(1944, DateTime.june, 6);
final difference = berlinWallFell.difference(dDay);
print(difference.inDays); // 16591
assert(difference.inDays == 16592);

将失败,因为实际差异实际上是16591天和23小时,而Duration.inDays只返回整个天数。

实现

external Duration difference(DateTime other);