2012-01-10 3 views
0

я установить часовой пояс в PHP:PHP часовой пояс и время не совпадают

date_default_timezone_set("Europe/Istanbul"); 
ini_set('date.timezone', 'Europe/Istanbul'); 

тогда, когда я получаю время даты и часового пояса

date('Y-m-d H:i'); date_default_timezone_get(); 

, который печатает

2012-01-10 05:20 Europe/Istanbul 

время зона правильная, но время не так, любые идеи, в чем причина? спасибо!

+0

Когда часовой пояс непризнан, время обычно появляется в UTC. Выводится ли время, когда вы получаете правильное представление UTC того времени, которое вы хотели? Если это так, это по крайней мере дает вам понять, что «Европа/Стамбул» не признается. FWIW, этот часовой пояс распознается во всех системах Debian, Ubuntu и Solaris, которые я только что проверил. – Celada

+0

В следующий раз введите код в кодовые блоки (4 пробела перед каждой строкой). Панель инструментов редактора - ваш друг. – Christian

+1

Можете ли вы описать * как * Неверное время? Слишком поздно, слишком рано ... и на сколько часов? –

ответ

0

Если РНР> = 5.2.0, то вы можете использовать объект DateTime:

$my_timezone = new DateTimeZone('America/Los_Angeles'); 
$far_away_timezone = new DateTimeZone('Europe/Istanbul'); 

$dt = new DateTime(date('Y-m-d H:i:s'), $my_timezone); 
$dt->setTimezone($far_away_timezone); 

echo $dt->format('Y-m-d H:i'); 

Надеется, что это помогает.

Смежные вопросы