JQuery在x轴上绘制未定位的时间

时间:2013-02-20 15:55:24

标签: javascript jquery flot

我有一个使用flot绘图包的项目,除了我的x轴(即时间)在我的本地化时间显示时间外我一切正常但我希望它显示未定位。

例如:数据被馈送到FLOT具有时间7:45 AM(来自服务器从Unix纪元毫秒),但x轴显示上午12时45分(其中有意义,因为我在MST-700很)。

我知道发送的数据是正确的,因为我逐步完成了代码并确保它是正确的。我知道JavaScript有正确的时间,因为我告诉它输出它给出的日期并且它是正确的(正确的是它显示在上午7:45而不是上午12:45)。我非常有信心我的问题与时区有关,因为我将时区设置为-1200,而上午7:45的数据显示为下午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(以毫秒为单位)。

我尝试将时区设置为null,这似乎与timeZoneOffset一样没有效果。日期和时间必须保持不变,因为我无法为它们添加/减去某些指定的时区。

TL; DR如何在没有任何本地化(没有时区)的情况下获得flot来显示时间?

非常感谢任何帮助:)


编辑1: 在进行一些处理时间库(jquery.flot.time.js)的测试时,我发现没有调用tickGenerator和tickFormatter函数。我在两个函数中都放了一个警告,它会显示它计算的日期,但我从来没有收到警报。

2 个答案:

答案 0 :(得分:3)

您是否查看过API文档?

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

您似乎应该能够传入时区:“MST-700”或类似内容,具体取决于您选择包含哪个库进行时间格式化。通过同一页面搜索“时区”应该会产生更多信息。

答案 1 :(得分:1)

不太清楚为什么这会起作用,但我设法解决了这个问题。我取出了jquery.flot.time.js文件,现在x轴正确显示。

我觉得图书馆无视我的时区选项。