describeTimeDifference function
Implementation
String describeTimeDifference(DateTime inputDateTime) {
DateTime now = DateTime.now();
Duration difference = now.difference(inputDateTime);
if (difference.inDays >= 365) {
int years = (difference.inDays / 365).floor();
return "$years year${years > 1 ? 's' : ''} ago";
} else if (difference.inDays >= 7) {
int weeks = (difference.inDays / 7).floor();
return "$weeks week${weeks > 1 ? 's' : ''} ago";
} else if (difference.inDays >= 1) {
return "${difference.inDays} day${difference.inDays > 1 ? 's' : ''} ago";
} else if (difference.inHours >= 1) {
return "${difference.inHours} hour${difference.inHours > 1 ? 's' : ''} ago";
} else if (difference.inMinutes >= 1) {
return "${difference.inMinutes} min${difference.inMinutes > 1 ? 's' : ''} ago";
} else {
return "just now";
}
}