javascript - JQuery Flot x 轴上的非本地化时间

标签 javascript jquery flot

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

例如:输入到 flot 的数据时间为上午 7:45(从服务器来看,以 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 的分钟数(以毫秒为单位)。

我尝试将时区设置为空,但这似乎和 timeZoneOffset 一样没有效果。日期和时间必须保持原样,因为我无法向其中添加/减去某些指定的时区。

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

任何帮助将不胜感激:)


编辑1: 在对时间库(jquery.flot.time.js)进行一些测试后,我发现tickGenerator和tickFormatter函数没有被调用。我在两个函数中都放置了一个警报,该警报将显示其计算的日期,但我从未收到警报。

最佳答案

您看过 API 文档吗?

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

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

关于javascript - JQuery Flot x 轴上的非本地化时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14984245/

相关文章:

javascript - 使用 Flot Javascript 绘图库重叠数据线

javascript从flot绑定(bind)函数访问类对象

jquery - 显示标签时 Flot 圆环图消失

javascript - 在 javascript 中以毫秒为单位获取时间的更好方法?

javascript - 计算没有显示的 div 中可见 li 项目的数量

javascript - Chrome - 不播放多个视频 - 网络卡在待定状态

jquery - 如何在表单的 AJAX post 请求中传递 CSRF token ?

php - 使用 jQuery 循环遍历 mySQL json_encode

javascript - 使用 jQuery 或 javascript 从 URL 获取元描述

javascript - 如何使用 Javascript 创建可折叠的 div?