Я запустил этот скрипт:
echo date_default_timezone_get()."\n";
echo "----\n";
date_default_timezone_set('Asia/Kabul');
echo date_default_timezone_get()."\n";
echo "----\n";
echo time()."\n";
$dt = new DateTime;
echo $dt->format('U') . "\n";
echo "----\n";
date_default_timezone_set('UTC');
echo date_default_timezone_get()."\n";
echo "----\n";
echo time()."\n";
$dt = new DateTime;
echo $dt->format('U') . "\n";
и для всех 4 значений меток времени он говорит: 1325905766
.
Я где-то читал, что новый DateTime всегда устанавливает UTC как часовой пояс,независимо от настройки часового пояса, я получаю это, но как насчет time()
?
За несколько секунд до этого на другом сервере (вероятно, не в Европе (ideone.com)) он возвращает 4 раза: 1325905723
.
То же самое!(Очевидно, что разность составляет несколько секунд, но тот же часовой пояс.)
time()
всегда и только возвращает UTC ???Что происходит ??