Продолжительность дня - 24 часа, полный час - 60 минут
Если разница меньше 24 часов на 1 секунду или 1 микросекунду, et c - полный день не засчитывается
Возвращаясь к вашему примеру
2020-08-03
среднее начало дня 00:00:00.000
и отличается от
2020-08-02 19:34:00.000
только на 4 часа, 26 минут
2020-08-03 22:42:16.799
только для 22ч, 42м, 16с, 799мс
Этот тест объясняет
test('datetime difference in days', () {
final date = DateTime.parse('2020-08-03');
final date1 = DateTime.fromMillisecondsSinceEpoch(1596368040000);
final date2 = DateTime.fromMillisecondsSinceEpoch(1596465736799);
print(date); // 2020-08-03 00:00:00.000
print(date1); // 2020-08-02 17:34:00.000
print(date2); // 2020-08-03 20:42:16.799
expect(date1.difference(date).inDays, equals(0));
expect(date1.difference(date).inHours, equals(-6));
expect(date2.difference(date).inDays, equals(0));
expect(date2.difference(date).inHours, equals(20));
});