Некорректная дата поста

Сервер в Штатах. В панели управления время выставлено +4 часа от UTC (или что там упоминается?). Пишу посты в 5 минут первого ночи – оно мне датирует их 8 вечера прошедшего дня. Календарь и РСС также показывают эти посты во вчерашнем дне.

Чего делать с этим чудом? Поставить +12 часов для верности? (ещё не пробовал)

Обычно на серверах стоит время по Гринвичу. Поэтому нужно просто подобрать разницу в настройках WordPress.

Беда в том, что при настройке разницы во времени указано по умолчанию, что московское отличается от Гринвича на 3 часа. Но это не совсем верно: благодаря мрачной традиции перехода на летнее время реальная разница сейчас составляет 4 часа (Гринвич никуда не переходит в отличие от нас).

В итоге даты переписывал вручную.

Это старая и широко известная в узких кругах проблема. Большинство движков формируют текущее время, используя time() + offset. А о существовании летнего времени в php знает только функция localtime(). В принципе подлечить wp можно, хакнув в functions.php функцию current_time. (Когда-то я так лечил phpBB.) Но это прокатит в том случае, если в стране обитания сервера переход на летнее время совпадает с переходом в "стране сайта".

Anonymous
Отправить
Ответ на: