2013-08-14 2 views
-3

Это мой код для отображения текущей даты сегодня:Дата функции отображение неправильной даты

$date = date('m/d/Y'); 
echo"(".$date.")"; 

взамен мой результат:

(08/14/2013) 

Почему не дата отображения сегодняшней фактической даты, которая является 8/13/2013?

+0

Это побежал локально на вашей машине? – alex

+0

Какую дату ваш сервер считает? –

+0

Возможно, потому что вы или ваш сервер находятся в другой стране/континенте? Нет, я не саркастичен. –

ответ

1

времени и даты в PHP зависит от нескольких вещей.

  1. Что дата и время на машине PHP работает на
  2. часовой пояс, который устанавливается по умолчанию, либо в коде или в файле php.ini.

    date.timezone = «Америка/Триатлон»

или

date_default_timezone_set('America/Los_Angeles'); 

С одним из них установлен в другой часовой пояс, как GMT или что-то вы могли бы быть выключены, как на очень большой смещение.

+0

Хорошо, я ввел код, который вы указали: до того, как я отозвался –

+0

Я хотел сказать, что я ввел ваш код, прежде чем я повторил дату, и это сработало. Спасибо! –

+0

Рад, что я могу помочь – stanlest

1

Try отладка с:

$date=date('m/d/Y e O'); 
echo $date; 

Таким образом, вы можете увидеть информацию часового пояса для даты отображается.

http://php.net/manual/en/function.date.php

+0

Отображается «UTC +0000» –

+0

Тогда это правильно. Дата уже 14-го, в UTC. –

+1

А разве это часовой пояс, в котором вы находитесь? Если нет, то это объясняет разницу в дате. Затем вы можете использовать ответ stanlest, чтобы установить часовой пояс по умолчанию или просто использовать функцию date_add() php, чтобы исправить смещение самостоятельно. –

0

Не знаю, что ваша проблема, но я бы установить часовой пояс, прежде чем дата

date_default_timezone_set('Australia/Sydney'); 

This Page говорит вам, что часовые пояса доступны

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