getRelativeTimeShort static method

String getRelativeTimeShort(
  1. DateTime date, [
  2. String locale = 'en_US'
])

Short relative time format (e.g., "2h", "3d", "now")

Implementation

static String getRelativeTimeShort(DateTime date, [String locale = 'en_US']) {
  final now = DateTime.now();
  final difference = now.difference(date).abs();

  if (difference.inSeconds < 60) {
    return 'now';
  } else if (difference.inMinutes < 60) {
    return '${difference.inMinutes}m';
  } else if (difference.inHours < 24) {
    return '${difference.inHours}h';
  } else if (difference.inDays < 7) {
    return '${difference.inDays}d';
  } else if (difference.inDays < 365) {
    return '${(difference.inDays / 7).floor()}w';
  } else {
    return '${(difference.inDays / 365).floor()}y';
  }
}