|
|
|
| выдает ошибку timezone
Strict Standards: date() [function.date]: It is not safe to rely on the system's timezone settings.
Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set()
function. In case you used any of those methods and you are still getting this warning,
you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for '4.0/DST' instead in
|
Как правильно написать? | |
|
|
|
|
|
|
|
для: serjinio
(30.04.2009 в 21:00)
| | проставить корректную таймзону. | |
|
|
|
|
|
|
|
для: Trianon
(30.04.2009 в 21:34)
| | достаточно ли в начале скрипта указать
date_default_timezone_set('Europe/Moscow');
|
и будет ли смещение если скрипт запустить допустим в омске(другом часовом поясе) ?...
я так понял что
putenv ('TZ=Europe/Moscow');
| тоже поддерживается в php5 | |
|
|
|
|
|
|
|
для: serjinio
(30.04.2009 в 22:27)
| | Ну наверняка же в Омске смещение не такое, как в Москве?
Соответственно, прописывать нужно ту, в которой хотите получить дату-время. | |
|
|
|
|
|
|
|
для: Trianon
(30.04.2009 в 22:38)
| | а есть что-то универсальное? | |
|
|
|
|
|
|
|
для: serjinio
(30.04.2009 в 22:40)
| | часы, которые показывают время одновременно во всех поясах? :) | |
|
|
|
|
|
|
|
для: Trianon
(30.04.2009 в 22:42)
| | Я так понимаю что ошибка была вызвана тем что в php.ini на сервере не была выставлена таймзона
которая принудительно выставилась с помощь функции date_default_timezone_set('Europe/Moscow');
в самом скрипте...те $day = date('d',time()); по москве покажет 30 и даже в любом другом часовом поясе на клиенте покажет 30(апреля)...а как чтобы скрипт на клиенте в другом часовом поясе отображал настоящую дату ..допустим 1(мая)(в омске)... | |
|
|
|
|
|
|
|
для: serjinio
(30.04.2009 в 23:11)
| | >Я так понимаю что ошибка была вызвана тем что в php.ini на сервере не была выставлена таймзона
>которая принудительно выставилась с помощь функции date_default_timezone_set('Europe/Moscow');
>в самом скрипте...
Нет. Ошибка вызвана тем, что таймзона не выставлена ни в php.ini (что правильно) , ни в переменной TZ (что тоже правильно) ни путем предварительного явного вызова функции date_default_timezone_set('регион/штат') (что неверно) . Либо выставлена неизвестным идентификатором таймзоны.
>те $day = date('d',time()); по москве покажет 30 и даже в любом другом часовом поясе на клиенте покажет 30(апреля)...
конечно. А с чего ему покзывать другое, уж коль скоро таймзону Вы не выставили?
>а как чтобы скрипт на клиенте в другом часовом поясе отображал настоящую дату ..допустим 1(мая)(в омске)...
Очевидно, нужно как-то информацию о таймзоне серверу передать, предварительно получив её у клиента?
Дальше думайте сами. | |
|
|
|
|
|
|
|
для: Trianon
(30.04.2009 в 23:29)
| | Допустим через javascript я смогу получить время на клиенте и часовой пояс
<script type="text/javascript">
var d = new Date();
document.writeln(d.getHours()); // локальное время, установленное на клиенте
document.writeln(d.getUTCHours()); // время по Гринвичу, исходя из установок времени на клиентской машине
</script>
|
а как передать это значение серверу? | |
|
|
|
|
|
|
|
для: serjinio
(01.05.2009 в 10:09)
| | >а как передать это значение серверу?
как угодно - AJAX, фрейм, просто document.location... | |
|
|
|