我有一个使用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函数。我在两个函数中都放了一个警告,它会显示它计算的日期,但我从来没有收到警报。
答案 0 :(得分:3)
您是否查看过API文档?
https://github.com/flot/flot/blob/master/API.md#customizing-the-axes
您似乎应该能够传入时区:“MST-700”或类似内容,具体取决于您选择包含哪个库进行时间格式化。通过同一页面搜索“时区”应该会产生更多信息。
答案 1 :(得分:1)
不太清楚为什么这会起作用,但我设法解决了这个问题。我取出了jquery.flot.time.js文件,现在x轴正确显示。
我觉得图书馆无视我的时区选项。