formatStatusLineClock function

String formatStatusLineClock(
  1. DateTime now, {
  2. required bool clock24h,
  3. required bool showSeconds,
})

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';
}