printDuration static method
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';
}