toHumanizedString method
1:02:34 or 2:05 — no forced padding on leading minute
Implementation
String toHumanizedString() {
final abs = this.abs();
final h = abs.inHours;
final m = abs.inMinutes % 60;
final s = abs.inSeconds % 60;
final mm = '$m'.padLeft(2, '0');
final ss = '$s'.padLeft(2, '0');
final body = h > 0 ? '$h:$mm:$ss' : '$m:$ss';
return isNegative ? '-$body' : body;
}