timeAgo method

String timeAgo()

Returns a human-readable string representing how long ago this date was.

Implementation

String timeAgo() {
  final Duration diff = DateTime.now().difference(this);
  if (diff.inSeconds < 60) return '${diff.inSeconds} sec ago';
  if (diff.inMinutes < 60) return '${diff.inMinutes} min ago';
  if (diff.inHours < 24) return '${diff.inHours} hrs ago';
  if (diff.inDays < 7) return '${diff.inDays} days ago';
  if (diff.inDays < 30) return '${(diff.inDays / 7).floor()} weeks ago';
  if (diff.inDays < 365) return '${(diff.inDays / 30).floor()} months ago';
  return '${(diff.inDays / 365).floor()} years ago';
}