当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart DateTime.difference用法及代码示例


dart:core 库中DateTime.difference 方法的用法介绍如下。

用法:

Duration difference(
   DateTime other   
)

返回 Duration 与从 this 中减去 other 时的差值。

如果 other 出现在 this 之后,则返回的 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 仅返回整天数。

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 difference method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。