2015-08-09 5 views
6

Я сделал код, который печатает журнал в папке сервера, этот журнал возвращает также дату с часами, но сервер не входит в мою страну, поэтому часы для меня неверны. На самом деле это мой код:Как установить часовой пояс с объектом DateTime?

$now = new DateTime(); 
$aggiornata = "\r\n" . "Aggiornamento eseguito con successo per: " . $value['caption'] . " DATA: " . $now->format('d-m-Y H:i:s'); 
file_put_contents(getenv('OPENSHIFT_REPO_DIR').'php/log.txt', $aggiornata, FILE_APPEND); 

Как установить правильный час для Италии?

ответ

2

взгляд на DateTimeZone

$date = new DateTime('now',new DateTimeZone("Europe/Rome")); 
+0

$ Дата-> Формат ('д-т-Y, H: I: S'); также действительна? Потому что в журнале ничего не печатается с вашим редактированием –

+0

да, это действительно так, как вы записываете btw? –

+0

В моем файле журнала указано время обновления определенного сезона, распознанного параметром $ value ['caption']. Я пробовал код в localhost и файл был создан, но на openshift сервере этот код не работает. –

1

Вы можете установить его в конструктор в качестве второго аргумента

$date = new DateTime(null, new DateTimeZone('Europe/Rome')); 

или более поздней версии с setTimezone функции

$date = new DateTime(); 
$date->setTimezone(new DateTimeZone('Europe/Rome')); 

Вы можете прочитать об этом здесь http://php.net/manual/en/datetime.settimezone.php

+0

Это несвязанная проблема и установка часового пояса в объекте DateTime не имеет к этому никакого отношения. –

2

Вы также можете сделать это в верхней части вашего файла, как, например:

date_default_timezone_set('Europe/Rome');

0

Работа с PHP в часовых поясов довольно легко. Ниже следует пример:

// Create a new DateTime object 
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru')); 

// Output 
echo $date->format('Y-m-d H:i:sP') . "\n"; 

// Change timezone 
$date->setTimezone(new DateTimeZone('Pacific/Chatham')); 

// Output again 
echo $date->format('Y-m-d H:i:sP') . "\n"; 

Ссылка:

Руководство по PHP - DateTimeZone

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