19 lines
647 B
Dart
19 lines
647 B
Dart
String formatDuration(Duration duration) {
|
|
final days = duration.inDays;
|
|
final hours = duration.inHours.remainder(24);
|
|
final minutes = duration.inMinutes.remainder(60);
|
|
final seconds = duration.inSeconds.remainder(60);
|
|
|
|
String plural(int thing) => thing == 1 ? '' : 's';
|
|
|
|
if (days > 0) {
|
|
return '$days day${plural(days)}, $hours hour${plural(hours)}';
|
|
} else if (hours > 0) {
|
|
return '$hours hour${plural(hours)}, $minutes minute${plural(minutes)}';
|
|
} else if (minutes > 0) {
|
|
return '$minutes minute${plural(minutes)}, $seconds second${plural(seconds)}';
|
|
} else {
|
|
return '$seconds second${plural(seconds)}';
|
|
}
|
|
}
|