dateTimeToYYYYMMDDHMMSSAM function

String? dateTimeToYYYYMMDDHMMSSAM(
  1. DateTime? dateTime
)

Converts a DateTime object to a custom formatted string.

Formats the DateTime as "YYYY-MM-DD H:MM:SS AM/PM" (e.g., "2025-08-17 7:44:54 AM"). Returns null if the provided dateTime is null.

dateTime The DateTime object to convert. returns The custom formatted string or null if the input is null.

@ai Use this function to format DateTime objects for display or storage in the "YYYY-MM-DD H:MM:SS AM/PM" format.

Implementation

String? dateTimeToYYYYMMDDHMMSSAM(final DateTime? dateTime) {
  if (dateTime == null) return null;

  final year = dateTime.year.toString();
  final month = dateTime.month.toString().padLeft(2, '0');
  final day = dateTime.day.toString().padLeft(2, '0');

  var hour = dateTime.hour;
  final period = hour >= 12 ? 'PM' : 'AM';

  // Convert 24-hour format to 12-hour format
  if (hour == 0) {
    hour = 12;
  } else if (hour > 12) {
    hour = hour - 12;
  }

  final minute = dateTime.minute.toString().padLeft(2, '0');
  final second = dateTime.second.toString().padLeft(2, '0');

  return '$year-$month-$day $hour:$minute:$second $period';
}