calculateTimeDifference function

String calculateTimeDifference(
  1. DateTime dateTime
)

Implementation

String calculateTimeDifference(DateTime dateTime) {
  final DateTime now = DateTime.now();
  final Duration difference = now.difference(dateTime);

  if (difference.inDays < 1) {
    if (difference.inHours < 1) {
      if (difference.inMinutes < 1) {
        return '${difference.inSeconds} seconds ago';
      }
      return '${difference.inMinutes} minutes ago';
    }
    return '${difference.inHours} hours ago';
  } else if (difference.inDays < 7) {
    return '${difference.inDays} days ago';
  } else if (difference.inDays < 30) {
    final int weeks = (difference.inDays / 7).floor();
    return "$weeks week${weeks > 1 ? 's' : ''} ago";
  } else if (difference.inDays < 365) {
    final int months = (difference.inDays / 30).floor();
    return "$months month${months > 1 ? 's' : ''} ago";
  } else {
    final int years = (difference.inDays / 365).floor();
    return "$years year${years > 1 ? 's' : ''} ago";
  }
}