2016-11-11 2 views
2

Когда я делаю это в PHPJavascript и PHP дата форматирования дает различные значения

echo date("Y/m/d",786668400); 

я получаю 1994/12/06

, но когда я делаю это в JavaScript:

console.log(new Date(786668400*1000).getDate() + "." + 
      (new Date(786668400*1000).getMonth() + 1) + "." + 
      new Date(786668400*1000).getFullYear()); 

я получаю 5.12.1994

Дата неправильная, она должна быть 6.12.1994

Что я здесь делаю неправильно?

console.log(new Date(786668400 * 1000).getDate() + "." + 
 
     (new Date(786668400 * 1000).getMonth() + 1) + "." + 
 
     new Date(786668400 * 1000).getFullYear());

+1

'5.12.1994' правильный, поскольку отметка времени указывает на« Пн. 5 дек. 1994 23: 00 ». Возможно, ваш PHP-код применяет смещение часового пояса, которое влияет на вывод –

+0

Код, которым вы делитесь, является простым javascript, а не jquery – Gudubeth

+0

Я получаю 6-е место в 11: 50CET – mplungjan

ответ

0

Вашей Отметка время Unix дает неправильную дату, потому что во время UTC этого 05.12.1994 23:00:00. В мой местный часовой пояс, это 06.12.1994 00:00:00

Попробуйте изменить свой часовой пояс.

+0

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

+0

Вы не должны хранить даты без временной части как временные метки, если они поступают из базы данных, тогда используйте '' DATE'' datatype – cfreear

+1

Ну, вы можете изменить с помощью PHP свой часовой пояс в свой часовой пояс (чтобы убедиться, что вы не используете UTC). См. Http://php.net/manual/en/function.date-default-timezone-set.php –

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