timeAgoNumeric method
Implementation
String timeAgoNumeric(
int timestamp,
) {
DateTime date = DateTime.fromMillisecondsSinceEpoch(timestamp);
final date2 = DateTime.now();
final difference = date2.difference(date);
final years = (difference.inDays / 365).round();
if (difference.inDays > 365) {
return "$years ${years == 1 ? "year" : "years"} ago";
} else if (difference.inDays > 28 && difference.inDays <= 366) {
double averageDaysInMonth =
(daysInMonth_leapYear.fold<int>(0, (a, b) => a + b)) / 12;
int totalMonths = (difference.inDays / averageDaysInMonth).round();
return "$totalMonths ${totalMonths == 1 ? "month" : "months"} ago";
} else if ((difference.inDays / 7).floor() >= 1) {
return '1 week ago';
} else if (difference.inDays >= 2) {
return '${difference.inDays} days ago';
} else if (difference.inDays >= 1) {
return '1 day ago';
} else if (difference.inHours >= 2) {
return '${difference.inHours} hours ago';
} else if (difference.inHours >= 1) {
return '1 hour ago';
} else if (difference.inMinutes >= 2) {
return '${difference.inMinutes} minutes ago';
} else if (difference.inMinutes >= 1) {
return '1 minute ago';
} else if (difference.inSeconds >= 3) {
return '${difference.inSeconds} seconds ago';
} else {
return 'Just now';
}
}