Friday, March 23, 2012

Yummy, Dummy, or Middy, how about a Date?

I have a habit of reading international press.  Through the day I will see articles written in various countries, and all of them have their own way of doing things.  One of the things they all seem to get wrong are dates.

No, not those sweet things growing on a tree on the corner of Wilton Drive and NE 21st Court.  I'm talking about "Today's Date".

You see, I have more years writing computer programs than I care to count.  I've written more reports, displays, screens and web pages full of data that if you show me something, count to 30 and ask, I'll tell you what has been done wrong or if it's right. 

Sure, that's a lot to say right there but really am I full of myself or do I have a point?

Most of the time these reports are nothing more than a long tedious list of numbers and words.   The trick is getting them all in the right order.  Something will be listed in the main order, then there may or may not be a secondary order, and that can be crucial to the person using the report or web page.

In the United States and many countries, we use what we call a Middy Date.  At least we did when I was learning programming.  Month Day Year is the order.  MMDDYY or Middy. 

It doesn't work. 

Take a long list of dates and sort them in order and you find yourself trying to make sense of "this year" or "last year".  Sure, last year should show first but if you are just looking at the date as 06/01/11, it will come before 07/02/12 but after 05/03/13.   You have to take the year into account.

Europeans with their Dummy Dates aren't any better.  Day Month Year is rubbish when you are looking at a list of dates that are before the 13th of the month.  You won't know until you find a later day in the month, say the 21st that you are looking at a report displaying in DDMMYY fashion. 

Most reporting tools will look at a setting on your computer and check to see if your date string is Middy or Dummy, and display things in that fashion.  The truth is that most data is kept in a database and that is even another weird format based on second since the epoch - January 1 1970 is one number that comes to mind.  The computer will add up all those seconds, do calculations and spit out a date based on where your setting is.

When I was writing programs in old school COBOL, I had to consider these things.  COBOL did not have that built in, and you were constantly fiddling around with dates to get them in the right order.  We settled on a third solution - Yummy Dates.   Store your dates in Year Month Day Order or YYMMDD.   The problem is that outside of programming, nobody uses those dates naturally.

Or do they? 

Actually if you're trying to keep long lists of files and dates are important, Windows can be tricked to use those Yummy dates in the file names.   Sure you can sort the files in Date Order, but then you find yourself having to check the status bar for when that file was created. 

Where I use this heavily is in anything financial.  I have a directory, er, Folder that has a printout of each transaction I have done.  The printouts are all PDF files so I can see exactly what the web page looked like so many years back.  The first few characters of the files are the Yummy Date.

For Example, a bank transfer to checking done on March 19th, 2012 was called "2012-03-19 Transfer To Checking.PDF" and sits in that bank's folder.   Makes things quite tidy.

That reminds me... instead of writing about it, I've got another transfer to checking to do and time to pay the Charge Card. 

Hope that's all clear and not like mud!

No comments:

Post a Comment