While I'll agree that MySQL makes date manipulation difficult, Postgresql is FAR better at it, and you can do things like:
select * from table where datefield>'10 march 2001 12:00:00 am' and datefield less than 12 march 2001 5:30:00 pm'
or
select '12 March 2001' + '3 days':: interval
kind of stuff. Much more rich environment.
But if you've been stuck with MySQL I can understand why you'd avoid using dates in the database.
Then you can create a constraint (another thing mysql users aren't usually famlliar with) like:
create table invoices (orderdate timestamp, filleddate timestamp check (filleddate > orderdate), shippeddate timestamp check (shippeddate>filleddate));
etc. so that you can't have a nonsensical date of filling the order before it was made etc...
You can even make it so you can't put in a time that isn't in a certain range etc...
Postgresql, by the way, understands date / time in almost any format:
20010301 13:00:00
10/17/2001 12:00 pm
2001-01-12
etc...
Real databases are nice that way. :-)