How to display nodes only after certain dates? (An Advent calendar is in progress) I'd like to build an Advent calendar with Drupal 7 as a warm-up exercise.

What would be the recommended way to protect future calendar entries from being accessed before their time?

I have 3–5 different content types to be used as calendar entries.

Everything should be accessible to anonymous users as well, so I only need to check the current date.
We have a client who uses the Scheduler module for their blog.  They write a backlog of posts, and then post date them for when they want them to appear.  You should be able to use this.  Make nodes for all of the days, and date them for when you want them to appear.  As long as you have cron workng properly, nodes should appear when they should.

Another option is to use the Date module along with Views.  Make a content type with a date field.  Set the date field to the day you want it to appear.  Then make a view over that content type, and add a filter to compare the date field against the current day.

Of the choices, I would go with Scheduler.