printDuration static method

String printDuration(
  1. Duration duration
)

Prints a Duration as a formatted string.

Example:

final duration = Duration(hours: 1, minutes: 5, seconds: 30);
DateTimeUtils.printDuration(duration); // "01:05:30"

Implementation

static String printDuration(Duration duration) {
  final negativeSign = duration.isNegative ? '-' : '';
  String twoDigits(int n) => n.toString().padLeft(2, '0');
  final twoDigitMinutes = twoDigits(duration.inMinutes.remainder(60).abs());
  final twoDigitSeconds = twoDigits(duration.inSeconds.remainder(60).abs());
  final twoDigitHours = twoDigits(duration.inHours);
  if (duration.inHours > 0) {
    return '$negativeSign$twoDigitHours:$twoDigitMinutes:$twoDigitSeconds';
  }
  return '$negativeSign$twoDigitMinutes:$twoDigitSeconds';
}