當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。