PHP date_default_timezone_set не вносит изменений во время () - почему? - PullRequest
0 голосов
/ 25 августа 2011

Почему, когда я использую date_default_timezone_set(), это не имеет никакого значения для time()?

Конечно, я ожидал бы, что значения $server_time и $local_time ниже будут разными?

$server_time = time();
date_default_timezone_set('Pacific/Guam');
$local_time = time();
print_r(get_defined_vars());

-------
/* echoed output */
Array
(
    [server_time] => 1314261374
    [local_time] => 1314261374
)

Ответы [ 3 ]

2 голосов
/ 25 августа 2011

Временная метка всегда без какой-либо информации о часовом поясе.Если вы используете дату, вы увидите разницу:

$server_time=date(DATE_W3C);
date_default_timezone_set('Pacific/Guam');
$local_time=date(DATE_W3C);
print_r(get_defined_vars());

----
/* echoed output */
Array
(
    [server_time] => 2011-08-25T10:49:26+02:00
    [local_time] => 2011-08-25T18:49:26+10:00
)
2 голосов
/ 25 августа 2011

time() не зависит от часового пояса.

1 голос
/ 25 августа 2011

time() возвращает текущую метку времени Unix.Если это зависит от часового пояса, программисты сойдут с ума.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...