parseDate static method
Parses a DateTime using a supported pattern.
Implementation
static DateTime parseDate(String value, String pattern) {
if (pattern == 'yyyy-MM-dd') {
final RegExp regExp = RegExp(r'^(\d{4})-(\d{2})-(\d{2})$');
final RegExpMatch? match = regExp.firstMatch(value);
if (match == null) {
throw FormatException(
'Invalid date value for pattern yyyy-MM-dd',
value,
);
}
final int year = int.parse(match.group(1)!);
final int month = int.parse(match.group(2)!);
final int day = int.parse(match.group(3)!);
return DateTime(year, month, day);
}
if (pattern == 'iso8601') {
return DateTime.parse(value);
}
throw UnsupportedError('Unsupported date format pattern: $pattern');
}