describeTimeDifference function

String describeTimeDifference(
  1. DateTime inputDateTime
)

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