getDetailedDifference static method

String getDetailedDifference(
  1. DateTime start,
  2. DateTime end
)

Calculates the difference between two DateTime objects and returns it in a "days:hours:minutes" format.

Omits parts that are zero. For example, if the difference is only in minutes, it will return just "minutes". If it's hours and minutes, "hours:minutes".

Implementation

static String getDetailedDifference(DateTime start, DateTime end) {
  Duration difference = end.difference(start);

  int days = difference.inDays;
  int hours = difference.inHours % 24;
  int minutes = difference.inMinutes % 60;

  return "${days == 0 ? "" : "$days:"}${hours == 0 ? "" : "$hours:"}$minutes";
}