tryParseFromDateTime static method

DateTime? tryParseFromDateTime(
  1. String formattedString, {
  2. DateTime? defaultValue,
  3. String format = r"([0-9]+)/([0-9]+)/([0-9]+)(\([^\)]+\))? ([0-9]+):([0-9]+):([0-9]+)",
})

Converts a string with only date and time information to DateTime.

Implementation

static DateTime? tryParseFromDateTime(String formattedString,
    {DateTime? defaultValue,
    String format =
        r"([0-9]+)/([0-9]+)/([0-9]+)(\([^\)]+\))? ([0-9]+):([0-9]+):([0-9]+)"}) {
  if (formattedString.isEmpty || format.isEmpty) {
    return defaultValue;
  }
  final regex = RegExp(format);
  final match = regex.firstMatch(formattedString);
  if (match == null) {
    return defaultValue;
  }
  final year = int.tryParse(match.group(1) ?? "");
  final month = int.tryParse(match.group(2) ?? "");
  final day = int.tryParse(match.group(3) ?? "");
  final hour = int.tryParse(match.group(5) ?? "");
  final minute = int.tryParse(match.group(6) ?? "");
  final second = int.tryParse(match.group(7) ?? "");
  if (year == null ||
      month == null ||
      day == null ||
      hour == null ||
      minute == null ||
      second == null) {
    return defaultValue;
  }
  return DateTime(year, month, day, hour, minute, second);
}