toTimeAgo method
Implementation
String toTimeAgo({Locale locale = const Locale('id')}) {
final lang = locale.languageCode.toLowerCase();
final diff = DateTime.now().difference(this);
if (diff.inDays > 365) {
final years = (diff.inDays / 365).floor();
return "$years ${PiLocaleDictionary.plural('year', years, lang)} ${PiLocaleDictionary.get('ago', lang)}";
}
if (diff.inDays > 30) {
final months = (diff.inDays / 30).floor();
return "$months ${PiLocaleDictionary.plural('month', months, lang)} ${PiLocaleDictionary.get('ago', lang)}";
}
if (diff.inDays > 7) {
final weeks = (diff.inDays / 7).floor();
return "$weeks ${PiLocaleDictionary.plural('week', weeks, lang)} ${PiLocaleDictionary.get('ago', lang)}";
}
if (diff.inDays > 0) {
return "${diff.inDays} ${PiLocaleDictionary.plural('day', diff.inDays, lang)} ${PiLocaleDictionary.get('ago', lang)}";
}
if (diff.inHours > 0) {
return "${diff.inHours} ${PiLocaleDictionary.plural('hour', diff.inHours, lang)} ${PiLocaleDictionary.get('ago', lang)}";
}
if (diff.inMinutes > 0) {
return "${diff.inMinutes} ${PiLocaleDictionary.plural('minute', diff.inMinutes, lang)} ${PiLocaleDictionary.get('ago', lang)}";
}
return PiLocaleDictionary.get('just_now', lang);
}