readableFormatRefinedNoYear property

String get readableFormatRefinedNoYear

show Month in full text, show day and time, if date is today, tomorrow or yesterday, it returns the string respectively

Implementation

String get readableFormatRefinedNoYear {
  var now = DateTime.now();
  var date = this;
  if (date.year != now.year) return date.readableFormatNoYear;
  if (date.difference(now).inDays > 1) return date.readableFormatNoYear;
  if (date.difference(now).inDays == 1) return 'Tomorrow';
  if (date.difference(now).inDays == 0 && date.day == now.day) {
    return 'Today';
  }
  if (date.difference(now).inDays == 0 && date.day > now.day) {
    return 'Tomorrow';
  }
  if (date.difference(now).inDays == 0 && date.day < now.day) {
    return 'Yesterday';
  }
  if (date.difference(now).inDays == -1) return 'Yesterday';
  return date.readableFormat;
}