2016-10-07 3 views
0

Я искал в течение нескольких недель, и я не нашел оптимальное решение этой проблемы:Как определить правильный формат даты в Highcharts

Дата в красном поле на картинке должна изменяться в соответствии с местоположение страны пользователя.

Пример: Для США ->Thursday, Oct 6 2016, 11:27:59 PM

В моем коде фиксируется xDateFormat на: "%A, %e.%b %Y, %H:%M:%S", но она должна динамически изменяться, как я уже говорил ранее.

enter image description here

Я не нашел встроенную функцию в документации Highcharts http://api.highcharts.com/highstock/tooltip.xDateFormat.

Другим решением было бы создать мой собственный стол со страновыми форматами в соответствии с: https://stackoverflow.com/a/9893752. Для этого я должен сначала определить IP-адрес пользователя и локализовать страну.

У кого-нибудь есть идея?

+0

Вы можете установить глобальную опцию ['useUTC'] (http://api.highcharts.com/highcharts/global.useUTC) на' false', чтобы использовать время на стороне клиента в диаграмме. Создайте демо в JSFiddle, если это не поможет. –

ответ

0

Для этой конкретной проблемы, которую вы можете использовать услугу, как freegeoip.net или geoplugin.net
Для получения дополнительной информации, пожалуйста, обратитесь this page

То, что вы должны сделать, это отправить запрос (через XHR или независимо от того, который вы используете в backend) вместе с IP-адресом пользователя для их обслуживания следующим образом:

freegeoip.net/json/<user-ip> | geoplugin.net/json.gp?ip=<user-ip>

или

Вы можете использовать Date() объект для получения пользователей текущий день, дата, время и отправить его обратно на сервер, чтобы обновить приложение ..

Редактировать

проблема с IP-адресом - это ненадежно, что если пользователь находится за VPN или любым другим анонимным прокси-сервисом, например TOR, поэтому полученный IP-адрес вам не очень помогает. Возможно, более надежная отправка сведений о пользователях (время и местоположение) с помощью настройки заголовка в запросе.

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