app-mirror-github/lib/utils/misc.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;
}