parseToDateTime static method

DateTime parseToDateTime(
  1. String dateString,
  2. String inputKey
)

Parses dateString using the format key inputKey.

Implementation

static DateTime parseToDateTime(String dateString, String inputKey) {
  final pattern = FormatRegistry.resolve(inputKey);
  if (pattern == null) {
    throw ArgumentError('Unknown format key: $inputKey');
  }

  if (pattern == 'epoch') {
    final ms = int.tryParse(dateString.trim());
    if (ms == null) {
      throw FormatException('Invalid epoch value: $dateString');
    }
    return DateTime.fromMillisecondsSinceEpoch(ms);
  }

  if (pattern == 'relative') {
    return _parseRelative(dateString);
  }

  try {
    return DateFormat(pattern).parse(dateString.trim());
  } on FormatException {
    rethrow;
  }
}