I've been irritated by the fact that Mail seems to ignore my personal date settings as defined in the International section of System Preferences. In fact, rather than respecting the system setting (bad Apple!), it tries to guess it based on the system language.
Unfortunately, this means that English uses the US date format, which is annoying and confusing for those of us who use other formats.
Well, fear not, and gripe no more. Delving into the contents of Mail (control-click on Mail in Applications, then choose "Show Package Contents"), you can find the localization resources and modify them to suit. The relevant file is Contents -> Resources -> English.lproj -> Localizable.strings. Editing this (I suggest a backup beforehand) and searching for "date" will bring you to the appropriate section.
There are many fields to cope with all the different ways in which Mail displays the date as you adjust the column; you'll need to change all of them! The date specifiers are as follows:
Year %y two digit year (03) %Y four digit year (2003) Month %b short month name (Nov) %B long month name (November) %m month number with leading zero Day %e day without leading zero (1) %d day with leading zero (01)Read the rest of the hint for my version of the file...
My modified file displays dates in ISO YYYY-MM-DD format (deteriorating to YY-MM-DD when the field gets too narrow). I have left the long, wordy date in its original state.
/* Date format with arguments full month, day, and year, to be followed by time */ "FULL_DATE_AND_TIME_FORMAT" = "%B %e, %Y "; /* Date format for today, to be followed by time */ "TODAY_FORMAT" = "Today "; /* Date format for yesterday, to be followed by time */ "YESTERDAY_FORMAT" = "Yesterday "; /* Date format with arguments abbreviated month name, day, and year, to be followed by time */ "ABBREV_DATE_AND_TIME_FORMAT" = "%b %e, %Y "; /* Date format with arguments abbreviated month name, day, and year, to be followed by time */ "ABBREV_DATE_SHORT_YEAR_AND_TIME_FORMAT" = "%b %e, %y "; /* Date format with arguments year, month number, and day [2003-12-01], to be followed by time */ "NUMERIC_DATE_AND_TIME_FORMAT" = "%Y-%m-%d "; /* Date format with arguments year, month number, and day [03-12-01], to be followed by time */ "NUMERIC_DATE_SHORT_YEAR_AND_TIME_FORMAT" = "%y-%m-%d "; /* The format for hours and minutes in 12 hour format */ "12HOUR_TIME_FORMAT" = "%1I:%M"; /* The format for hours and minutes in 24 hour format */ "24HOUR_TIME_FORMAT" = "%H:%M"; /* Argument is the AM/PM designator */ "AMPM_DESIGNATOR_FORMAT" = "%p"; /* Date format with arguments full month name, day, and year */ "FULL_DATE_FORMAT" = "%B %e, %Y"; /* Date format for today */ "TODAY_NO_TIME_FORMAT" = "Today"; /* Date format for yesterday */ "YESTERDAY_NO_TIME_FORMAT" = "Yesterday"; /* Date format with arguments abbreviated month name, day, and year */ "ABBREV_DATE_FORMAT" = "%b %e, %Y"; /* Date format with arguments year, month number, and day [2003-12-01] */ "NUMERIC_DATE_FORMAT" = "%Y-%m-%d"; /* Date format with arguments year, month number, and day [03-12-01] */ "NUMERIC_DATE_SHORT_YEAR_FORMAT" = "%y-%m-%d";[robg adds: I inserted returns into some of the comment lines to narrow the display width.]
Mac OS X Hints
http://hints.macworld.com/article.php?story=20030621023925899