2016-12-01 6 views
0

У меня есть вопрос. Я пытаюсь использовать datetime в php. я сделал:DateTime в php с часовым поясом

$now = new \DateTime(); 

Когда я print_r в $now у меня есть:

DateTime Object 
(
    [date] => 2016-12-01 05:55:01 
    [timezone_type] => 3 
    [timezone] => Europe/Helsinki 
) 

Когда я смотрю на часы, у меня есть 16:05. Мне нужно установить часовой пояс? Я хочу использовать часовой пояс в Бухаресте. Как я могу получить правильную дату и час? Thx заранее

+0

Проверьте мой ответ, здесь вы получите 2 способа, как получить нужное время. –

ответ

0

положить эту строку кода выше вашего скрипта:

date_default_timezone_set('Europe/Bucharest'); 
1

Есть examples in the manual, вы можете установить часовой пояс на конкретизации класса DateTime как этот

$now = new \DateTime('now', new DateTimeZone('Europe/Bucharest')); 
+0

у меня есть это: 'DateTime объекта ( [дата] => 2016-12-01 6:09:43 [timezone_type] => 3 [часовой пояс] => Европа/Бухарест ) ' –

+0

Но час сейчас '16: 22' –

+0

Время в Бухаресте 16:22 @ UTC 14:22 – RiggsFolly

0

Вы можете используйте setTimezone() метод DateTime класс, чтобы установить часовой пояс в Европу/Бухарест, например:

$now = new \DateTime(); 
$now->setTimezone(new DateTimeZone('Europe/Bucharest')); 

Вот ссылка:

0

У вас есть два пути, чтобы установить правильный часовой пояс. Это объективно и процедурно.


Примеры

Объект

$datetime = new DateTime(); 
$timezone = new DateTimeZone('Europe/Bucharest'); 
$datetime->setTimezone($timezone); 
echo $datetime->format('F d, Y H:i'); 

Процедурный

date_default_timezone_set("Europe/Bucharest"); 
$date = date('F d, Y H:i'); 
echo $date; 

Руководства


Обновление

Контрольный код ниже, может он будет работать для вас:

<?php 
date_default_timezone_set('Europe/London'); 
$datetime = new DateTime(); 
$timezone = new DateTimeZone('Europe/Bucharest'); 
$datetime->setTimezone($timezone); 
echo $datetime->format('F d, Y H:i'); 
?> 
+0

Я не получаю нужный час –

+0

Он дает' 01 декабря, 2016 16: 35', и сейчас настало время в Бухаресте. –

+0

Я получил '01 декабря 2016 года 06:25 ' –

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