format method

String? format(
  1. DateTime dateTime, {
  2. bool startCapital = true,
})

Implementation

String? format(DateTime dateTime, {bool startCapital = true}) {
  if (dateTime.isBeforeYesterday) return capitalizeStart("Vorgestern");
  if (dateTime.isYesterday) return capitalizeStart("Gestern");
  if (dateTime.isToday) return capitalizeStart("Heute");
  if (dateTime.isTomorrow) return capitalizeStart("Morgen");
  if (dateTime.isAfterTomorrow) return capitalizeStart("Übermorgen");

  if (dateTime.weekSinceEpoch ==
      DateTime.now().subtract(Duration(days: 7)).weekSinceEpoch) {
    return capitalizeStart(weekPrefix[0]) +
        " Woche " +
        DateFormat(DateFormat.WEEKDAY, "de_DE").format(dateTime);
  }
  if (dateTime.weekSinceEpoch == DateTime.now().weekSinceEpoch) {
    return capitalizeStart(weekPrefix[1]) +
        " Woche " +
        DateFormat(DateFormat.WEEKDAY, "de_DE").format(dateTime);
  }
  if (dateTime.weekSinceEpoch ==
      DateTime.now().add(Duration(days: 7)).weekSinceEpoch) {
    return capitalizeStart(weekPrefix[2]) +
        " Woche " +
        DateFormat(DateFormat.WEEKDAY, "de_DE").format(dateTime);
  }
  return null;
}