Python 3.8, 136 \$\cdots\$10993 10778 bytes
Takes the date as an integer and returns Truthy or Falsy.
lambda s,h=100:13>(dm:=s//hh%h)>0<s//h)and(0<(m:=s//h%h)<13)and(h<(m==2and d<3030-(s%4<1))or m!=2and d<31+,31+(m in(4,6,9,11)))[m!=2]