fnTestDateYyyymmdd function

dynamic fnTestDateYyyymmdd(
  1. dynamic value
)

TestDateYyyymmdd(yyyymmdd): validates whether it's a legal date; 0=valid, 1=invalid

Implementation

dynamic fnTestDateYyyymmdd(dynamic value) {
  final n = varToInt(value);
  final y = n ~/ 10000;
  final m = (n ~/ 100) % 100;
  final d = n % 100;
  if (m < 1 || m > 12 || d < 1) return 1;
  try {
    final dt = DateTime(y, m, d);
    return (dt.year == y && dt.month == m && dt.day == d) ? 0 : 1;
  } catch (_) {
    return 1;
  }
}