Как подменить дату для всего сайта в целом?

loopik

Новичок
Как подменить дату для всего сайта в целом?

Если сервер располагается где нить за бугром а время для определения отправки запросов писем и всего такого нужно реальное для той страны где установлен скрипт. Переписывать файлы очень трудно слишком много придется менять, так как поздно спохватился. Если ли какая-нить команда чтоб во все файлы с самого верха подключить и например при date(); или time() скрипту отдавалось значение на пару часов меньге или больше в зависимости от настроек.

Возможно ли такое? Заранее спасибо за помощь.
 

ybilevych

Новичок
Сорри, прошибся.
[m]putenv[/m] для установки часового пояса

PHP:
<?php
$original_tz = getenv('TZ');
$format = "d/m/Y H:i";

// Server time:
$server_time = time();
echo 'Server time: ' . date($format, time()) . '<br>';

// GMT time:
$gm_time = $server_time - date('Z', $server_time);
echo "GMT time: " . date($format, $gm_time) . "<br>";

// Africa/Cairo
putenv('TZ=Africa/Cairo');
$a_time = $gm_time + date('Z', time());
putenv('TZ=' . $original_tz);
echo 'Africa/Cairo time: ' . date($format, $a_time) . "<br>";

// America/Los Angeles
putenv('TZ=America/Los_Angeles');
$a_time = $gm_time + date('Z', time());
putenv('TZ=' . $original_tz);
echo 'America/Los Angeles: ' . date($format, $a_time) . "<br>";

// Europe/London
putenv('TZ=Europe/London');
$a_time = $gm_time + date('Z', time());
putenv('TZ=' . $original_tz);
echo 'Europe/London: ' . date($format, $a_time) . "<br>";

putenv('TZ=' . $original_tz);
?>
 
Зачем все это если есть

date_default_timezone_set -- Sets the default timezone used by all date/time functions in a script
 

ybilevych

Новичок
shtogrin
Зачем все это если есть

date_default_timezone_set -- Sets the default timezone used by all date/time functions in a script
1. Это пример. Для работы достаточно:
putenv('TZ=America/Los_Angeles');
echo 'America/Los Angeles: ' . date($format, time()) . "<br>";

2. date_default_timezone_set доступна начиная с версии PHP 5 >= 5.1.0RC1
 
Сверху