Sok esetben fontos lehet, hogy a program kizárólag érvényes dátumokat fogadjon el.
Természetesen meg lehet vizsgálni, hogy a felhasználó érvényes évet, hónapot, napot adott-e meg.
Azonban egyáltalán nem biztos, hogy az e módszer szerint megvizsgált dátum ténylegesen létezik is.
Tegyük fel például, hogy a felhasználó 97/09/31-et ad meg. Egyébként az év, hónap, nap érvényes érték lesz,
de szeptember 31-dikét nem fogunk találni a naptárban.

A dátumok érvényessége és létezése a következő módon egyszerűen megvizsgálható:

var adatetime : tdatetime;
...

try
   adatetime:=StrToDate(inputdatestring);
except
   // EConvertError error - invalid date or invalid date format
end;

Ez a módszer természetesen a szökőévek tekintetében is működni fog.