Как мне известно практически все CMS с открытым кодом страдают этой болезнью :). А суть ее такова. Все мы с вами живем в разных часовых поясах. Drupal да и другие - решают эту проблему стандартно. Суммируют смещение. И никто, насколько я понимаю, не задумывался, что date() ведь зависит от текущей временной зоны прописанной в системе. Как и другие функции в PHP, идущие по сути из библиотек языка C. А временное смещение которое, прибавляет Drupal, пересчитывая практически все через gmdate(), - неверный подход, учитывая что у нас в России, да и во многих странах, есть такое понятие как переход на зимнее-летнее время. Так вот. Мой модуль + патч в одну строчку к одному из файлов в Drupal эту проблему решает с помощью функции date_default_timezone_set() в PHP5. Теперь время публикаций при переводе стрелок не будет уходить вперед и назад, в зависимости от того, куда вы перевели часы. Поскольку одно время мне с ним мне помогал Андрей Постников(andypost@drupal.org), можно считать его одним из авторов данного модуля. :) Лицензия: GNU GPL 2.0 или выше. Как того требует Drupal.
Скачать можно на drupal.org на странице проекта: dst
Если модуль вам понравится - можете послать то вознаграждение, которое считаете нужным на один из моих кошельков Webmoney - Z257403855887, R317189108083