Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   new Date - Неверное время (https://javascript.ru/forum/node-js-io-js/67073-new-date-nevernoe-vremya.html)

SunYang 26.01.2017 23:33

new Date - Неверное время
 
Вложений: 1
Всем привет.
Ломаю голову, не пойму почему node возвращает неверное время.
На сервере установлено правильное время, синхронизируется по ntp.
Если выводить текущее время на php или в консоли, все хорошо.
Но если вывести его посредством new Date() - показывается время на 5 часов больше. Как так?
Скрин прилагается.

Alexandroppolus 27.01.2017 10:04

SunYang,
возможно, это лишь формат вывода даты

В общем, сравни Math.round(new Date().valueOf() / 60000) в обоих случаях. Если будет одно и то же, или на 1 разница (маловероятно), то время одинаковое

SunYang 27.01.2017 10:22

Rise,
Код написан в ejs шаблоне вот так: <%=new Date();%>
Проверил на домашнем компе, там время нормальное.
На домашнем компе: Fri Jan 27 2017 10:13:56 GMT+0300 (RTZ 2 (зима))
На серванте: Fri Jan 27 2017 15:14:07 GMT+0800 (CST)
Проблема видимо в timezone. Должна быть Europe/Moscow GMT +3
На сервере в /etc/timezone стоит Europe/Moscow
Странная штука

SunYang 27.01.2017 22:18

Rise,
Сервант - это сервер с установленным node js.
Ejs - это шаблонизатор для node js. Отрабатывает на сервере.
Проблема решилась установкой moment-timezone
(npm install moment-timezone --save)

Спасибо!


Часовой пояс GMT +3, время: 17:58.