format method
Formats as a human-readable string.
Implementation
String format({bool showAll = false}) {
final parts = <String>[];
if (years > 0 || showAll) parts.add('$years years');
if (months > 0 || showAll) parts.add('$months months');
if (days > 0 || showAll) parts.add('$days days');
if (hours > 0 || showAll) parts.add('$hours hours');
if (minutes > 0 || showAll) parts.add('$minutes minutes');
if (seconds > 0 || showAll) parts.add('$seconds seconds');
if (parts.isEmpty) return '0 seconds';
final text = parts.join(', ');
return isFuture ? 'in $text' : '$text ago';
}