Your gift counts double until 5/31: $32,825 to go in our Easter Campaign. Please help now!
 The City Gates

Do You Have a Date?

By Dr. Jeff Mirus (bio - articles - send a comment) | April 19, 2012 8:31 PM

If you’re working with “small” dates as a programmer, you might express today’s date as 2012-04-19. You might use that date as an identifier in a database if you were programming a system that would bring up particular information about particular dates. I’m talking about our “day” display in the liturgical year section.

Now let’s further suppose you wanted to count the number of times people viewed the pages for different dates. You might make up an additional little data table (call it “hit_counter”) in which a “count” field would be incremented each time a particular day was loaded. The correct record in that new table could be identified by the “small date”.

Now let’s add another supposition. You’ve already programmed a hit_counter system for your entire website, and the ID fields for every other kind of information on the site are simple numbers. The forty-thousandth news story has an ID of 40000. The thirty-ninth City Gates entry has an ID of 39. Each ID is keyed to its proper data table, of course. It works like a charm!

But when you add the liturgical days to this counting system, you forget something. You forget that the identifier for your days is a date, like 2012-04-19. And because you’ve forgotten this, you pass that value to your tried-and-true hit_counter routine as if it were a number, just like all the others. And then you wonder why the total hits for the various days of the year begin to look a little strange.

And you wonder. And you wonder some more. You pull your hair because you know the code works everywhere else. You start giving your email correspondents short shrift. You are late for dinner. You yell at your wife and kids.

Until, all at once, you realize the obvious.

When 2012-04-19 is passed as a number, it is passed as 2012 minus 4 minus 19. In other words, it is passed as 1989. And guess what? 2011-04-18 is also passed as 1989. As is 2010-09-12. Moreover, 2013-01-23 will soon enough be passed as 1989. And many other dates besides.

But, hey, I figured this out today, didn’t I?

And nobody died.

An appeal from our founder, Dr. Jeffrey Mirus:

Dear reader: If you found the information on this page helpful in your pursuit of a better Catholic life, please support our work with a donation. Your donation will help us reach five million Truth-seeking readers worldwide this year. Thank you!

Easter Campaign:
Progress toward our Spring 2013 goal ($32,825 to go):
$80,000.00 $47,174.67
41% 59%
Sound Off! CatholicCulture.org supporters weigh in.

All comments are moderated. To lighten our editing burden, only current donors are allowed to Sound Off. If you are a donor, log in to see the comment form; otherwise please support our work, and Sound Off!

Show 1 Comments? (Hidden)Hide Comments
  • Posted by: j.jensen5893 - Apr. 20, 2012 12:11 AM ET USA

    And here I thought it was only me who made programming errors like that!

Think with the Catholic Leaders: Subscribe to Catholic Culture Insights Newsletter
Donate to Support this Site: Your contribution will be put to good work.
Tour the CatholicCulture.org Site
Shop Amazon to Raise Money for Catholic Culture

Recent Catholic Commentary

Learning from the sick, and from the death of a child May 17
The case for change in Irish abortion law: based on a framework of falsehood May 17
The Smell of the Sheep May 16
Too many missing funds: Catholic institutions need tighter financial controls May 16
What capitalists should learn from the Pope's critique May 16

Top Catholic News

Most Important Stories of the Last 30 Days
Pope strongly supports call for reform in religious life CWN - May 8