Take today's date: 2008-08-18. In the default setting it would read 08/18/2008. Let's pretend that we are developing a report and need to extract information from a database. If we have the following dates, in the mm/dd/yyyy format and we decide to put it into a character field (for instance, we shove it into a Word document table and the column is set as Text), how would you expect it to sort?
08/18/2008
08/17/2008
08/18/2009
08/19/2008
08/17/2009
08/19/2009
You would think it would sort in proper date order, but you would be wrong. It ends up like this:
08/17/2008
08/17/2009
08/18/2009
08/18/2009
08/19/2008
08/19/2009
Now, you could set it as a Date column, but there are many times you have this in a CSV format and you import into an app that just dumps it into a Text or Char field. Then you end up with this issue. If the dates had been formated correctly: yyyy-mm-dd then it doesn't matter if the data is stored as Text/Char or Date. It would sort correctly no matter what:
2008-08-17
2008-08-18
2008-08-19
2009-08-17
2009-08-18
2009-08-19
There is a much greater problem when the date is stored in the format mm/dd/yy (that is, with only a two digit year). If you get a date that looks like this 04/05/07 how do you know what it is without first knowing the exact format that was used? That could be yy/mm/dd...hell, it could even be dd/mm/yy. An application may not convert the date to its date format correctly at all. If I were to import that into my database, it would become 2004/05/07 and NOT 2007/04/05 as was the intention (mm/dd/yy).
Short dates should be stored as yyyy-mm-dd (I don't care if you use a "-" or a "/", but with a backslash, if you were to use the date in a filename it would give you an error since filenames can't include "/". It means you would have to strip out the "/"s before creating a file. Small thing I know, but still, an extra step is an extra step). This format should be used internationally.
