-
-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
timezone && mysql #40
Comments
Impress этим не занимается это драйвер подключения к mySQL в строке подключения (см в /applications/.../config/databases.js) параметр timezone, например 'mysql://user:pass@host/db?debug=true&charset=BIG5_CHINESE_CI&timezone=-0700' |
прописал в databases.js "...?timezone=+0400", клиентская часть делается на angularjs - теперь при отображении используется фильтр "date" и "фильтрованная" дата показана верно (в соответствии с зоной клиента). в итоге, получается, что все работает правильно - дата/время передается в utc, клиент приводит в правильный вид в соответствии со своей зоной |
Ничего не понял, добавление timezone к конекшенстрингу БД должно решать проблему, если вы делаете коррекцию даты в нескольких местах, то это может слететь при переносе или повторном развертывании системы. |
вы совершенно правы: коррекция даты в нескольких местах, но в теории такого если коротко - 2 раза дата приводится к UTC 1-toISOString, 2-node-mysql а подробнее - происходит вот что:
в случае, если создана дата Tue May 01 1967 00:00:00 GMT+0400, то
в общем, проблема понятна, нужно правильно ее решить 12 мая 2014 г., 17:37 пользователь Timur Shemsedinov <
С уважением, |
в качестве БД - mysql, сервер sles 11
для mysql и системы указана правильная временная зона
запросы к mysql из консоли (mysql) и MySQL Workbench возвращают правильные даты (тип datetime)
запросы из impress возвращают даты приведенные к UTC (на 4 часа меньше)
в результате получаются даты и неверным днем (это зависит от времени - если время = 00:00, вычитается 4 часа и получается вчерашний день)
в Node пока чайник, в результате поисков нашлось вот это:
process.env.TZ = 'Europe/Moscow';
прописал в один из обработчиков, но изменений нет
что нужно сделать, чтобы получать даты из запросов к mysql в соответствии с временной зоной?
The text was updated successfully, but these errors were encountered: