Дата. Часовой пояс и произвольное смещение

На одном из сайтов понадобилось сместить дату на точно определённое время (минус 8 часов и 15 минут) по местному времени...

Т.е. чтобы на одной из страниц дата менялась не в полночь, а утром, за 15 минут до рабочего дня. Зачем? Я и сам не до конца понял...

Получается так, что весь сайт нам трогать не нужно, там дата меняется стандартно, т.е. в php.ini не лезем.

В определённом месте смотрим который час и какая временная зона установлена на сервере:

echo date('d.m.Y H:i:s Z e P T');

// Вывело:
// 25.11.2016 04:14:54 10800 Europe/Moscow +03:00 MSK

В примере ключи выводят

Z — разницу в секундах, при этом пояса западнее GMT дают отрицательные значения, а восточнее — положительные;
e — идентификатор часового пояса (появился в PHP 5.1);
P — разница с GMT в часах и минутах (появился в PHP 5.1.3),
T — аббревиатура часового пояса.

Получается, что на хостинге уже установлено Московское время (UTC + 3). У нас в регионе UTC + 7, а мне нужно чтобы дата менялась в 8:45.

Делаем смещение относительно существующих настроек:

$minus_time = time() - ( 5 * 60 * 60 - (15 * 60) ); // дата будет меняться в 8:45 по Новосибирску
					
$date_minus = date( "d.m.Y", $minus_time ); // Сама дата со смещением

 ! Пример относительно Московского времени.

Ссылки и благодарности

Смотрел: