toHumanizedString method
Returns a natural-language description using the two largest non-zero units.
Implementation
String toHumanizedString() {
final d = _abs;
final h = d.inHours;
final m = d.inMinutes % 60;
final s = d.inSeconds % 60;
String unit(int n, String singular) =>
'$n ${n == 1 ? singular : '${singular}s'}';
final parts = <String>[
if (h > 0) unit(h, 'hour'),
if (m > 0) unit(m, 'minute'),
if (s > 0 || (h == 0 && m == 0)) unit(s, 'second'),
];
return parts.take(2).join(' ');
}