amura.cxg
amura.cxg

Reputation: 2427

JQuery Flot unlocalized time on x-axis

I have a project that uses the flot plotting package and I have everything working except that my x-axis (which is time) displays the time in my localized time but I want it to display unlocalized.

For example: The data being fed to flot has the time 7:45AM (from the server as milliseconds from the Unix Epoch) but the x-axis displays 12:45AM (which makes sense since I'm in MST-700).

I know the data being sent down is correct as I stepped through that code and make sure it was correct. I know that the JavaScript has the correct time as I told it to output the date that it was given and it was correct (correct being it display 7:45AM and not 12:45AM). I'm very confident that my issue has to do with time zones as I set my time zone to -1200 and the data at 7:45AM would show as 20:45PM. Here is my plot configuration:

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
        };

Where maxX is the most current time reading from the server in milliseconds since the unix epoch and minX is some number of minutes less than maxX in milliseconds.

I have tried setting timezone to null and that seemed to have no effect as well as timeZoneOffset. The date and times must stay as they are, as in I can't add/subtract some specified timezone to them.

TL;DR How can I get flot to show time without any localization (no timezone)?

Any help would be greatly appreciated :)


Edit 1: Upon doing some testing dealing with the time library (jquery.flot.time.js) I found that the tickGenerator and tickFormatter functions aren't being called. I put an alert inside both functions that would display the date that it calculated but I never get the alerts.

Upvotes: 2

Views: 3781

Answers (2)

amura.cxg
amura.cxg

Reputation: 2427

Not too sure of exactly why this worked but I managed to fix the issue my self. I took out the jquery.flot.time.js file and now the x-axis is displaying correctly.

I have a feeling that the library was disregarding my timezone options.

Upvotes: 1

Frances McMullin
Frances McMullin

Reputation: 5696

Have you looked at the API docs?

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

It seems you should be able to pass in timezone:"MST-700" or similar, depending which library you chose to include for time formatting. A search through the same page for "timezone" should yield even more information.

Upvotes: 3

Related Questions