formatResetTime function
Formats a reset timestamp for display.
Implementation
String? formatResetTime(
int? timestampInSeconds, {
bool showTimezone = false,
bool showTime = true,
}) {
if (timestampInSeconds == null || timestampInSeconds == 0) return null;
final date = DateTime.fromMillisecondsSinceEpoch(timestampInSeconds * 1000);
final now = DateTime.now();
final hoursUntilReset =
(date.millisecondsSinceEpoch - now.millisecondsSinceEpoch) /
(1000 * 60 * 60);
if (hoursUntilReset > 24) {
final buf = StringBuffer();
buf.write('${_monthAbbr(date.month)} ${date.day}');
if (date.year != now.year) buf.write(', ${date.year}');
if (showTime) {
buf.write(' ${_formatTime12(date)}');
}
if (showTimezone) buf.write(' (${date.timeZoneName})');
return buf.toString();
}
final buf = StringBuffer(_formatTime12(date));
if (showTimezone) buf.write(' (${date.timeZoneName})');
return buf.toString();
}