Как получить дату и время с сервера

Я хочу получить дату и время с сервера и в соответствии с этим сделать что-то. Для этого я использовал следующий код:

$info = getdate(); $date = $info['mday']; $month = $info['mon']; $year = $info['year']; $hour = $info['hours']; $min = $info['minutes']; $sec = $info['seconds']; $current_date = "$date/$month/$year == $hour:$min:$sec"; 

Этот код возвращает правильную дату, но проблема в том, что то, что я вижу в моем cpanel (время сервера), является diff. чем то, что я получаю от кода. В cpanel время – CDT, а из кода – UTC, который я подтверждаю, используя следующий код

 <?php echo date("r == e"); ?> 

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

Вы должны установить часовой пояс на тот час, который вы хотите.

 // set default timezone date_default_timezone_set('America/Chicago'); // CDT $info = getdate(); $date = $info['mday']; $month = $info['mon']; $year = $info['year']; $hour = $info['hours']; $min = $info['minutes']; $sec = $info['seconds']; $current_date = "$date/$month/$year == $hour:$min:$sec"; 

Или гораздо более короткая версия:

 // set default timezone date_default_timezone_set('America/Chicago'); // CDT $current_date = date('d/m/Y == H:i:s'); 

Попробуй это –

 <?php date_default_timezone_set('Asia/Kolkata'); $timestamp = time(); $date_time = date("dmY (D) H:i:s", $timestamp); echo "Current date and local time on this server is $date_time"; ?> 

Вы должны установить часовой пояс, cf http://www.php.net/manual/en/book.datetime.php

Не нужно использовать date_default_timezone_set для всего скрипта, просто укажите timezone вы хотите, с объектом DateTime:

 $now = new DateTime(null, new DateTimeZone('America/New_York')); $now->setTimezone(new DateTimeZone('Europe/London')); // Another way echo $now->format("Ymd\TH:i:sO"); // something like "2015-02-11T06:16:47+0100" (ISO 8601) 

Чтобы включить функцию расширения PHP, следуйте инструкциям.

  1. Откройте файл xampp / php / php.ini в любом редакторе.
  2. Поиск "; extension = php_intl.dll"
  3. добровольно удалите стартовую точку с запятой (;) Например:; extension = php_intl.dll. к. расширение = php_intl.dll.
  4. Сохраните файл xampp / php / php.ini.
  5. Перезапустите xampp / wamp.