[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: date и DateTime выдают разные результаты
olgatcpip
Здравствуйте.

Есть такой код (тестовый)


$v = 1355711847;
echo $v.'<br>';
echo date("d.m.Y H:i:s",$v);
echo '<br>date_default_timezone_get:';
print_r(date_default_timezone_get());
echo '<br>';
$date = new DateTime("@$v");
echo $date->format('d.m.Y H:i');
echo '<br>$date->getTimezone():';
echo print_r($date->getTimezone()->getName());
echo '<br>';
echo $date->format('U');
echo '<br>**********';
$d = new DateTime();
echo time().' ** '.$d->format('U');


echo '<br>-----------------------<br>';
//$date = new DateTime("@$v",new DateTimeZone('Europe/Moscow'));
$date->setTimezone(new DateTimeZone('Europe/Moscow'));

echo '<br>-';
echo print_r($date->getTimezone()->getName());
echo '<br># '.$date->format('d.m.Y H:i');


вывод:
Цитата

1355711847
17.12.2012 06:37:27
date_default_timezone_get:Europe/Moscow
17.12.2012 02:37
$date->getTimezone():+00:001
1355711847
**********1355727089 ** 1355727089
-----------------------

-Europe/Moscow1
# 17.12.2012 06:37


По факту echo date("d.m.Y H:i:s",$v); - выводит верный вариант, но почему же echo $date->format('d.m.Y H:i'); дает на 4 часа меньше? $date->getTimezone() - не москва по умолчанию, но ведь date_default_timezone_get() - москва.. до этого момента мне казалось, что это одно и тоже всегда будет выводить...

Короче.
Чтоб работало правильно, мне пришлось вставить строчку
$date->setTimezone(new DateTimeZone('Europe/Moscow'));

Но что-то мне подсказывает, что есть вариант лучше, например поправить параметр в php.ini


вот какие настройки в php.ini
Цитата
[Date]
; Defines the default timezone used by the date functions
date.timezone = Europe/Moscow


В общем вопрос: чего я не понимаю и почему у меня разно время выводится, где что поправить, чтобы не писать setTimezone?


_____________
Ласковое слово и кошке приятно... Плюсик в карму сойдет wink.gif
*smarty дока - новая любовь
Моё рукотворение ругайте, хвалите smile.gif
Веду маленький блог
в этом блоге публикую новые работы
WMR217126627282 wink.gif

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.