formatRelative static method

String formatRelative(
  1. DateTime date, {
  2. String locale = 'en',
})

Formats a date as a relative label (Today, Yesterday, dd MMM).

Implementation

static String formatRelative(
  DateTime date, {
  String locale = 'en',
}) {
  final DateTime now = DateTime.now();
  final DateTime today = DateTime(now.year, now.month, now.day);
  final DateTime day = DateTime(date.year, date.month, date.day);
  final int diff = today.difference(day).inDays;

  if (diff == 0) return 'Today';
  if (diff == 1) return 'Yesterday';
  if (diff == -1) return 'Tomorrow';
  return formatDate(date, locale: locale);
}