Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.01.2017, 23:33
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

new Date - Неверное время
Всем привет.
Ломаю голову, не пойму почему node возвращает неверное время.
На сервере установлено правильное время, синхронизируется по ntp.
Если выводить текущее время на php или в консоли, все хорошо.
Но если вывести его посредством new Date() - показывается время на 5 часов больше. Как так?
Скрин прилагается.
Изображения:
Тип файла: jpg EbO486SDp74.jpg (74.9 Кб, 8 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2017, 05:02
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

SunYang, покажи где написан код new Date().
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2017, 10:04
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

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

В общем, сравни Math.round(new Date().valueOf() / 60000) в обоих случаях. Если будет одно и то же, или на 1 разница (маловероятно), то время одинаковое
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2017, 10:22
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

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
Странная штука
Ответить с цитированием
  #5 (permalink)  
Старый 27.01.2017, 17:13
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

SunYang, не понял что за сервант, но если шаблонизатор работает на стороне клиента, то это время клиента.
Ответить с цитированием
  #6 (permalink)  
Старый 27.01.2017, 22:18
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

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

Спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пара вопросов про new Date(). mkone112 Общие вопросы Javascript 4 13.02.2015 00:48
Не правильно оторбражается меcяц в Date() oxxy Общие вопросы Javascript 6 22.01.2014 16:01
Время,не правильное отображение скриптов Visual Общие вопросы Javascript 0 29.10.2013 19:12
Position fixed, но динамический по оси ОХ tvixa Элементы интерфейса 4 09.09.2013 15:39
Обновление объекта Date (сокращение кода) HJ90 Элементы интерфейса 4 07.09.2013 20:58