fnTestDayYyyyddd function

dynamic fnTestDayYyyyddd(
  1. dynamic value
)

TestDayYyyyddd(yyyyddd): validates whether it's a legal year-day; 0=valid, 1=invalid

Implementation

dynamic fnTestDayYyyyddd(dynamic value) {
  final n = varToInt(value);
  final y = n ~/ 1000;
  final d = n % 1000;
  if (y < 1601 || d < 1) return 1;
  final isLeap = (y % 4 == 0 && y % 100 != 0) || y % 400 == 0;
  final maxDay = isLeap ? 366 : 365;
  return d <= maxDay ? 0 : 1;
}