stdTEST_DAY_YYYYDDD function

dynamic stdTEST_DAY_YYYYDDD(
  1. dynamic value
)

TEST-DAY-YYYYDDD: 0=valid

Implementation

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