Как узнать дату и время с сервера - PullRequest
20 голосов
/ 08 июля 2011

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

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

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

Ответы [ 7 ]

53 голосов
/ 08 июля 2011

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

// 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');
7 голосов
/ 17 декабря 2015

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

<?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";
?>
5 голосов
/ 11 февраля 2015

Нет необходимо использовать 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("Y-m-d\TH:i:sO"); // something like "2015-02-11T06:16:47+0100" (ISO 8601)
1 голос
/ 08 июля 2011

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

0 голосов
/ 10 июля 2019

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

0 голосов
/ 29 сентября 2018

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

// 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";
0 голосов
/ 02 июля 2017

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

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