timeAgoSinceDate static method
Returns a human-readable 'time ago' string for dateTime.
Example:
DateTime pastDate = DateTime.now().subtract(Duration(days: 1));
String timeAgo = DateUtils.timeAgoSinceDate(pastDate);
print(timeAgo); // 1 day ago
Implementation
static String timeAgoSinceDate(DateTime dateTime) {
final duration = DateTime.now().difference(dateTime);
if (duration.inDays > 365) {
return '${(duration.inDays / 365).floor()} years ago';
} else if (duration.inDays > 30) {
return '${(duration.inDays / 30).floor()} months ago';
} else if (duration.inDays > 0) {
return '${duration.inDays} days ago';
} else if (duration.inHours > 0) {
return '${duration.inHours} hours ago';
} else if (duration.inMinutes > 0) {
return '${duration.inMinutes} minutes ago';
} else {
return 'Just now';
}
}