Час во времени не выводится правильно - PullRequest
0 голосов
/ 17 апреля 2011

Я использую Wanp в качестве сервера тестирования. Вот мой код:

$dt = time();
$mysql_datetime = strftime("%Y-%m-%d %H:%M:%S %p %z" , $dt);
echo $mysql_datetime;

Вот вывод:

2011-04-17 01:36:55 PM Eastern Standard Time

Моя проблема в том, что вся информация верна, за исключением или часа, который на 4 часа вперед. Предполагается, что час (01 PM) равен (09 AM). Я проверил дату и время на моем компьютере, и часовой пояс правильный. Что может вызвать это, пожалуйста, помогите.

Ответы [ 3 ]

4 голосов
/ 17 апреля 2011

Скорее всего, это связано с неправильной настройкой часового пояса. (Хотя странно, что %z правильно, я полагаю, что это так.)

Вы пытались позвонить date_default_timezone_set с соответствующим значением часового пояса ?

1 голос
/ 17 апреля 2011

Вы должны правильно установить свой часовой пояс, прежде чем что-либо еще.

Используйте date_default_timezone_set. Здесь - список поддерживаемых часовых поясов.

0 голосов
/ 17 апреля 2011

Не могли бы вы попытаться использовать класс DateTime (если у вас достаточно недавний php)?

Что-то вроде:

$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s A e');

В качестве альтернативы, если часовой пояс по-прежнему неверен, вы можете попробоватьчтобы указать его:

$dt = new DateTime(null, new DateTimeZone('EST'));
echo $dt->format('Y-m-d H:i:s A e');

В любом случае для получения дополнительной информации об отладке я бы порекомендовал вам взглянуть на ini_get('date.timezone'), который, если он неправильный, должен быть правильно настроен в вашем файле php.ini.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...