timeAgo property

String get timeAgo

Days ago from this date

Implementation

String get timeAgo {
  final DateTime date2 = DateTime.now();
  final Duration difference = date2.difference(this);

  return switch (difference) {
    Duration(inDays: 0) => 'today',
    Duration(inDays: 1) => 'tomorrow',
    Duration(inDays: -1) => 'yesterday',
    Duration(inDays: final days) when days > 7 => '${days ~/ 7} weeks from now',
    Duration(inDays: final days) when days < -7 => '${days.abs() ~/ 7} weeks ago',
    Duration(inDays: final days, isNegative: true) => '${days.abs()} days ago',
    Duration(inDays: final days) => '$days days ago',
  };

  // if (difference.inDays >= 1) {
  //   return '${difference.inDays} days ago';
  // } else if (difference.inHours >= 1) {
  //   return '${difference.inHours} hours ago';
  // } else if (difference.inMinutes >= 1) {
  //   return '${difference.inMinutes} minutes ago';
  // } else if (difference.inSeconds >= 1) {
  //   return '${difference.inSeconds} seconds ago';
  // } else {
  //   return 'just now';
  // }
}