21 lines
741 B
Dart
21 lines
741 B
Dart
String durationToHumanReadable(Duration dur) {
|
|
var durString = '';
|
|
if (dur.inDays.abs() > 1)
|
|
durString = dur.inDays.abs().toString() + " days";
|
|
else if (dur.inDays.abs() == 1)
|
|
durString = dur.inDays.abs().toString() + " day";
|
|
else if (dur.inHours.abs() > 1)
|
|
durString = dur.inHours.abs().toString() + " hours";
|
|
else if (dur.inHours.abs() == 1)
|
|
durString = dur.inHours.abs().toString() + " hour";
|
|
else if (dur.inMinutes.abs() > 1)
|
|
durString = dur.inMinutes.abs().toString() + " minutes";
|
|
else if (dur.inMinutes.abs() == 1)
|
|
durString = dur.inMinutes.abs().toString() + " minute";
|
|
else
|
|
durString = "less than a minute";
|
|
|
|
if (dur.isNegative) return durString + " ago";
|
|
return "in " + durString;
|
|
}
|