parseDate static method

DateTime? parseDate(
  1. String? value
)

Implementation

static DateTime? parseDate(String? value) {
  //expected 05.01.2021 01:31:04
  //why should we use own parser instead of import external library ?
  //because we are library and we:
  //1. should be as tiny as possible
  //2. our clients/developers may use different libraries.
  try {
    if (value == null || value.length == 0) {
      return null;
    }
    final dateAndTime = value.split(' ');
    if (dateAndTime.length != 2) {
      return null;
    }
    final daysMonthsAndYears = dateAndTime[0].split('.');
    if (daysMonthsAndYears.length != 3) {
      return null;
    }
    final hoursMinutesSeconds = dateAndTime[1].split(':');

    return DateTime(
        int.parse(daysMonthsAndYears[2]),
        int.parse(daysMonthsAndYears[1]),
        int.parse(daysMonthsAndYears[0]),
        int.parse(hoursMinutesSeconds[0]),
        int.parse(hoursMinutesSeconds[1]),
        int.parse(hoursMinutesSeconds[2]));
  } catch (e) {
    return null;
  }
}