Yeah i changed it so that it's between 2007 and 2011 so it's good now. I need to have the date be formatted as, for example 'Thursday, 11/13/05 10:55pm' and it is currently formatted as Thur Jul 13 19:06:00 PDT 2005.
Michael's code does produce random dates. It doesn't produce all dates with equal probability (as you say it is unable to produce some dates at all) but then that wasn't a stated requirement.
Your suggestion works much better at producing all dates with equal probability, but when you render those dates in a particular time zone then days when daylight saving time begin are chosen 23/24 as often as other days (since those days only have 23 hours). On the other hand you don't have that problem if you render them in UTC, so probably that would be the thing to do if this level of detail was important.