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