dateFormat property

String get dateFormat

Attempts to detect the date format of the string.

Implementation

String get dateFormat {
  final formats = {
    r'^\d{2}/\d{2}/\d{4}$': 'dd/MM/yyyy',
    r'^\d{2}-\d{2}-\d{4}$': 'dd-MM-yyyy',
    r'^\d{4}-\d{2}-\d{2}$': 'yyyy-MM-dd',
    r'^\d{2}/\d{4}$': 'MM/yyyy',
    r'^\d{4}/\d{2}$': 'yyyy/MM',
    r'^\d{4}$': 'yyyy',
    r'^\d{2}-\d{4}$': 'MM-yyyy',
    r'^\d{4}-\d{2}$': 'yyyy-MM',
    r'^\d{2} \w+ \d{4}$': 'dd MMMM yyyy',
    r'^[A-Za-zéèêëîïôöûüàäçÉÈÊËÎÏÔÖÛÜÀÂÄÇ]+ \d{4}$': 'MMMM yyyy',
    r'^[A-Za-zéèêëîïôöûüàäçÉÈÊËÎÏÔÖÛÜÀÂÄÇ]{3,}\.? \d{4}$': 'MMM yyyy',
  };

  for (final entry in formats.entries) {
    if (RegExp(entry.key).hasMatch(this)) {
      return entry.value;
    }
  }
  return '';
}