Подтвердить что ты не робот

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

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

$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"); ?>

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

4b9b3361

Ответ 1

Вы должны установить часовой пояс для одного из timezones вы хотите.

// 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');

Ответ 2

Попробуйте это -

<?php
date_default_timezone_set('Asia/Kolkata');

$timestamp = time();
$date_time = date("d-m-Y (D) H:i:s", $timestamp);
echo "Current date and local time on this server is $date_time";
?>

Ответ 3

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

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

Ответ 5

Для включения расширения PHP Extension выполните шаги.

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

Ответ 6

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

// set default timezone
date_default_timezone_set('Asia/Kolkata');

$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";

Ответ 7

Вы можете использовать функцию "system (string $ command [, int & $ return_var]): string". Для системы Windows ("время") ;, система ("время> output.txt"); поместить ответ в файл output.txt. Если вы планируете развернуть свой веб-сайт на другом сервере, вы можете не захотеть жестко кодировать время сервера, поскольку сервер может перейти в неизвестный часовой пояс. Тогда может быть лучше установить часовой пояс по умолчанию в файле php.ini. Я использую Hostinger, и они позволяют вам настроить это значение php.ini.