Имхо нормальные примеры в этой теме это у меня и у oRB. Т.к. по хорошему все манипуляции с датой и временем надо проводить через таймстамп, а не через date('i') и прочие извращения. А если уж брать ещё по хорошему, то работать надо не через date() а через gmdate() с поправкой на часовой пояс. Ибо если скрипт многопользовательский, то время сервера будет сильно отличаться.