formatDate function
Implementation
String formatDate(DateTime date, {String locale = 'en'}) {
initializeDateFormatting(locale);
final DateTime now = DateTime.now();
final Duration difference = now.difference(date);
final DateFormat dateFormat = DateFormat.yMMMMd(locale);
final String dateString = dateFormat.format(date);
if (difference.inMinutes < 1) {
return locale == 'es' ? 'Justo ahora' : 'Just now';
} else if (difference.inMinutes < 60) {
return locale == 'es'
? 'hace ${difference.inMinutes}m'
: '${difference.inMinutes}m ago';
} else if (difference.inHours < 24) {
return locale == 'es'
? 'hace ${difference.inHours}h'
: '${difference.inHours}h ago';
} else if (difference.inDays < 5) {
return locale == 'es'
? 'hace ${difference.inDays}d'
: '${difference.inDays}d ago';
} else if (difference.inDays > 365) {
return dateString;
} else {
return timeago.format(date, locale: locale);
}
}