19 lines
513 B
Dart
19 lines
513 B
Dart
extension DurationFormatter on Duration {
|
|
String formatDuration() {
|
|
final isNegative = inMicroseconds < 0;
|
|
final positiveDuration = isNegative ? -this : this;
|
|
|
|
final hours = positiveDuration.inHours.toString().padLeft(2, '0');
|
|
final minutes = (positiveDuration.inMinutes % 60).toString().padLeft(
|
|
2,
|
|
'0',
|
|
);
|
|
final seconds = (positiveDuration.inSeconds % 60).toString().padLeft(
|
|
2,
|
|
'0',
|
|
);
|
|
|
|
return '${isNegative ? '-' : ''}$hours:$minutes:$seconds';
|
|
}
|
|
}
|