I'm actually going to use this:
http://www.pelagodesign.com/blog/2009/05/20/iso-8601-date-validation-that-doesnt-suck/, let's not reinvent the wheel