formatStatusLineClock function
The time/time_spent clock form: HH:MM(:SS) in 24h, or
H:MM(:SS) AM/PM in 12h (compact 24h form H:MM for durations).
Implementation
String formatStatusLineClock(
DateTime now, {
required bool clock24h,
required bool showSeconds,
}) {
var hour = now.hour;
var suffix = '';
if (!clock24h) {
suffix = now.hour < 12 ? ' AM' : ' PM';
hour = now.hour % 12;
if (hour == 0) hour = 12;
}
final hh = clock24h ? hour.toString().padLeft(2, '0') : '$hour';
final mm = now.minute.toString().padLeft(2, '0');
return '$hh:$mm${showSeconds ? ':${now.second.toString().padLeft(2, '0')}' : ''}$suffix';
}