99% of the time the problem is not in the scheduling, but in you not caring about how the server was configured in first place. Noah Sussman summarized a lot of falsehoods programmers believe about time on his own website. Don't miss the updates!
As a quick hint, I can suggest sticking with UTC datetimes and always normalize dates to it. If you're using Django, be sure to check the time zones (new in Django 1.4) support, it helps a lot.