/// Time helpers. KST default. ISO 8601 string for DB storage. DateTime nowKst() => DateTime.now().toLocal(); /// Strip time → YYYY-MM-DD (DB date column). String dateOnly(DateTime d) { final local = d.toLocal(); return '${local.year.toString().padLeft(4, '0')}-' '${local.month.toString().padLeft(2, '0')}-' '${local.day.toString().padLeft(2, '0')}'; } /// Monday 00:00 of the week containing [d]. DateTime weekStart(DateTime d) { final local = d.toLocal(); final mondayOffset = (local.weekday - DateTime.monday) % 7; final monday = DateTime(local.year, local.month, local.day) .subtract(Duration(days: mondayOffset)); return monday; }