formatDuration static method
Format duration (e.g., "2h 30m", "45s")
Implementation
static String formatDuration(Duration duration, {bool verbose = false}) {
if (verbose) {
final parts = <String>[];
if (duration.inDays > 0) {
parts.add(
'${duration.inDays} ${DateTimeConstants.pluralize(duration.inDays, 'day', 'days')}',
);
}
if (duration.inHours % 24 > 0) {
parts.add(
'${duration.inHours % 24} ${DateTimeConstants.pluralize(duration.inHours % 24, 'hour', 'hours')}',
);
}
if (duration.inMinutes % 60 > 0) {
parts.add(
'${duration.inMinutes % 60} ${DateTimeConstants.pluralize(duration.inMinutes % 60, 'minute', 'minutes')}',
);
}
if (duration.inSeconds % 60 > 0 && parts.isEmpty) {
parts.add(
'${duration.inSeconds % 60} ${DateTimeConstants.pluralize(duration.inSeconds % 60, 'second', 'seconds')}',
);
}
return parts.join(', ');
}
if (duration.inDays > 0) {
return '${duration.inDays}d ${duration.inHours % 24}h';
} else if (duration.inHours > 0) {
return '${duration.inHours}h ${duration.inMinutes % 60}m';
} else if (duration.inMinutes > 0) {
return '${duration.inMinutes}m ${duration.inSeconds % 60}s';
} else {
return '${duration.inSeconds}s';
}
}