smartFormat method

String smartFormat({
  1. bool showTime = false,
  2. bool use24h = true,
})

Implementation

String smartFormat({bool showTime = false, bool use24h = true}) {
  String date;
  if (isToday) {
    date = "Today";
  } else if (isTomorrow) {
    date = "Tomorrow";
  } else if (isYesterday) {
    date = "Yesterday";
  } else if (isBefore(DateTime.now().addDays(7)) && isAfter(DateTime.now().addDays(-7))) {
    date = DateFormat("EEEE").format(this);
  } else if (isBefore(DateTime.now().addYears(1).startOfYear)) {
    date = DateFormat("d MMM").format(this);
  } else {
    date = DateFormat("d MMM y").format(this);
  }
  if (showTime) {
    return "$date, ${format(use24h ? "HH:mm" : "h:mm a")}";
  } else {
    return date;
  }
}