toTimeAgo property
String
get
toTimeAgo
Returns time ago with automatic updates (for real-time chat)
Implementation
String get toTimeAgo {
final now = DateTime.now();
final localTime = toLocal();
final difference = now.difference(localTime);
if (difference.inSeconds < 30) {
return 'now';
} else if (difference.inMinutes < 1) {
return '${difference.inSeconds}s';
} else if (difference.inHours < 1) {
return '${difference.inMinutes}m';
} else if (difference.inDays < 1) {
return '${difference.inHours}h';
} else if (difference.inDays < 30) {
return '${difference.inDays}d';
} else if (difference.inDays < 365) {
return '${(difference.inDays / 30).floor()}mo';
} else {
return '${(difference.inDays / 365).floor()}y';
}
}