Spec-Zone.ru › Dart 1

dart:core

Метод difference

Duration difference(DateTime other)

Возвращает Duration с разницей между this и other.

DateTime berlinWallFell = new DateTime.utc(1989, DateTime.NOVEMBER, 9);
DateTime dDay = new DateTime.utc(1944, DateTime.JUNE, 6);

Duration difference = berlinWallFell.difference(dDay);
assert(difference.inDays == 16592);

Разница измеряется в секундах и долях секунды. Разница выше считает количество долей секунды между полуночью в начале этих дат. Если указанные даты были в местном времени, а не в UTC, то разница между двумя полуночами может не быть кратна 24 часам из-за различий в переходе на летнее время.

Например, в Австралии аналогичный код, использующий местное время вместо UTC:

DateTime berlinWallFell = new DateTime(1989, DateTime.NOVEMBER, 9);
DateTime dDay = new DateTime(1944, DateTime.JUNE, 6);
Duration difference = berlinWallFell.difference(dDay);
assert(difference.inDays == 16592);

не сработает, потому что разница фактически составляет 16591 день и 23 часа, а Duration.inDays возвращает только количество целых дней.

Исходный код

external Duration difference(DateTime other);

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/DateTime/difference.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API