timeAgoSinceDate static method

String timeAgoSinceDate(
  1. DateTime dateTime
)

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';
  }
}