2013-02-20 6 views
2

У меня есть проект, который использует пакет для печати флота, и у меня все работает, за исключением того, что моя ось x (время) отображает время в моем локализованном времени, но я хочу, чтобы он отображался нелокализованном.JQuery Flot нелокализованное время по оси x

Например: данные, подаваемые на флот, имеют время 7:45 (от сервера в миллисекундах от эпохи Unix), но ось x отображает 12:45 (что имеет смысл, так как я нахожусь в MST- 700).

Я знаю, что данные, отправленные вниз, верны, когда я прошел через этот код и убедился, что это правильно. Я знаю, что JavaScript имеет правильное время, как я сказал, чтобы вывести дату, когда он был указан, и это было правильно (правильно, если он отображается 7:45 утра, а не 12:45 утра). Я очень уверен, что моя проблема связана с часовыми поясами, поскольку я установил свой часовой пояс на -1200, а данные в 7:45 AM будут отображаться как 20:45. Вот моя конфигурация участка:

var plotOptions = { 
      series: { shadowSize: 0 }, // drawing is faster without shadows 
      yaxis: { ticks: 5 }, 
      xaxis: { position: "bottom", mix: minX, max: maxX, mode: "time", timeformat: "%y/%m/%d %H:%M:%S"}, 
      yaxes: yAxes 
     }; 

Где Maxx является самым текущее время чтения с сервера в миллисекундах с начала эпохи Unix и Minx некоторое количество минут меньше, чем Maxx в миллисекундах.

Я попытался установить часовой пояс на нуль, и это, казалось, не имеет никакого эффекта, а также timeZoneOffset. Дата и время должны оставаться такими, какими они есть, так как я не могу добавить/вычесть определенный часовой пояс для них.

TL; DR Как я могу получить флот, чтобы показывать время без какой-либо локализации (без часовой пояс)?

Любая помощь будет принята с благодарностью :)


Edit 1: После делать некоторые испытания дело с библиотекой времени (jquery.flot.time.js) Я обнаружил, что функции tickGenerator и tickFormatter Арен не называется. Я поставил предупреждение внутри обеих функций, которые будут отображать дату, которую он рассчитал, но я никогда не получаю предупреждения.

ответ

1

Не слишком уверен в точности, почему это сработало, но мне удалось исправить проблему. Я достал файл jquery.flot.time.js, и теперь ось x отображается правильно.

У меня такое ощущение, что библиотека не учитывала мои параметры часового пояса.

3

Вы просматривали документы API?

https://github.com/flot/flot/blob/master/API.md#customizing-the-axes

Кажется, вы должны быть в состоянии пройти в часовом поясе: «MST-700» или подобный, в зависимости от которых библиотеки вы решили включить для времени форматирования. Поиск по той же странице для «часового пояса» должен дать еще больше информации.

+0

Привет, Дэвид, спасибо за ответ. Я использую пакет jquery.flot.time.js. Я попробовал вас, и, к сожалению, это не сработало. –

+0

Вы прочитали какую-либо другую информацию, касающуюся часовых поясов на этой странице? Ничего из этого не сработало? –

+0

Я прочитал кучу этого, и ничего не помогло. Мне удалось исправить это, удалив библиотеку времени, которая, вероятно, была причиной того, что ничто на этой странице не работало для меня. Спасибо за помощь, я ценю это! –

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