Let me know what kind of Date math is hard and I will either agree or I might feel like writing a blog post about it or just comment here with an explanation (I'd be glad to be of any help if you're interested in reading it). Also make sure your server's date time is in UTC.
I usually convert to Unix timestamps if I have to do date math.