tryParseDate static method

XPathDateTime? tryParseDate(
  1. String value
)

Attempts to parse a string representation of a date.

Implementation

static XPathDateTime? tryParseDate(String value) {
  final match = _dateRegExp.firstMatch(value);
  if (match == null) return null;

  final tzStr = match.namedGroup('timezone');
  final offset = _parseTimezoneOffsetMinutes(tzStr);
  if (tzStr != null && offset == null) return null;

  final yr = int.tryParse(match.namedGroup('year') ?? '');
  if (yr == null) return null;

  final mo = int.tryParse(match.namedGroup('month') ?? '');
  if (mo == null) return null;

  final dy = int.tryParse(match.namedGroup('day') ?? '');
  if (dy == null) return null;

  if (!_validateDateTime(yr, mo, dy, 0, 0, 0.0)) return null;

  return XPathDateTime.date(yr, mo, dy, offset);
}