smartDateFormat function
Implementation
String? smartDateFormat(DateTime? dateTime,
{bool? formatTime, bool useToday = true}) {
if (dateTime == null) return null;
formatTime ??= hasTime(dateTime);
TZDateTime tzToFormat = tzDateTime(dateTime);
if (!formatTime) {
final now = TZDateTime.now(tzToFormat.location);
final date = tzToFormat;
if (now.day == date.day && useToday == true) {
// Same day
return "today";
} else if (now.year == date.year) {
return dateFormatNoYear.format(date);
} else {
return dateFormatWithYear.format(date);
}
} else {
return smartDateTimeFormat(tzToFormat);
}
}