Всем привет.
Ломаю голову, не пойму почему node возвращает неверное время.
На сервере установлено правильное время, синхронизируется по ntp.
Если выводить текущее время на php или в консоли, все хорошо.
Но если вывести его посредством new Date() - показывается время на 5 часов больше. Как так?
Скрин прилагается.
В общем, сравни Math.round(new Date().valueOf() / 60000) в обоих случаях. Если будет одно и то же, или на 1 разница (маловероятно), то время одинаковое
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
Странная штука
Rise,
Сервант - это сервер с установленным node js.
Ejs - это шаблонизатор для node js. Отрабатывает на сервере.
Проблема решилась установкой moment-timezone
(npm install moment-timezone --save)