Highcharts - 休息 1 小时

2023-12-31

我似乎无法弄清楚为什么 x 轴上的时间总是晚一个小时。

我知道它与这条线有关,但我不知道将其更改为什么。

 date = Date.parse(line[0] + ' UTC');

我当前的时区是伦敦。

我有这个文件:index.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Using Highcharts with PHP and MySQL</title>

<script type="text/javascript" src="js/jquery-1.7.1.min.js" ></script>
<script type="text/javascript" src="js/highcharts.js" ></script>
<script type="text/javascript" src="js/themes/gray.js"></script>

<script type="text/javascript">
    var chart;
                    $(document).ready(function() {
                            var options = {
                                    chart: {
                                            renderTo: 'container',
                                            defaultSeriesType: 'line',
                                            marginRight: 130,
                                            marginBottom: 25
                                    },
                                    title: {
                                  text: 'Temperature for the last hour',
                                            x: -20 //center
                                    },
                                    subtitle: {
                                            text: '',
                                            x: -20
                                    },
                                    xAxis: {
                                            type: 'datetime',
                                            tickInterval: 3600 * 1000, // one hour
                                            tickWidth: 0,
                                            gridLineWidth: 1,
                                            labels: {
                                                    align: 'center',
                                                    x: -3,
                                                    y: 20,
                                                    formatter: function() {
                                                            return Highcharts.dateFormat('%H:%M', this.value);
                                                    }
                                            }
                                    },
                                    yAxis: {
                                            title: {
                                                    text: 'Temperature'
                                            },
                                            plotLines: [{
                                                    value: 0,

                                                   width: 1,
                                                    color: '#808080'
                                            }]
                                    },
                                    tooltip: {
                                            formatter: function() {
                                            return Highcharts.dateFormat('%H:%M', this.x-(1000*3600)) +': <b>'+ this.y + '</b>';
                                            }
                                    },
                                    legend: {
                                            layout: 'vertical',
                                            align: 'right',
                                            verticalAlign: 'top',
                                            x: -10,
                                            y: 100,
                                            borderWidth: 0
                                    },
                                    series: [{
                                            name: 'Temperature'
                                    }]
                            }
                            // Load data asynchronously using jQuery. On success, add the data
                            // to the options and initiate the chart.
                            // This data is obtained by exporting a GA custom report to TSV.
                            // http://api.jquery.com/jQuery.get/
                            jQuery.get('data.php', null, function(tsv) {

                              var lines = [];
                                    traffic = [];
                                    try {
                                            // split the data return into lines and parse them
                                            tsv = tsv.split(/\n/g);
                                            jQuery.each(tsv, function(i, line) {
                                                    line = line.split(/\t/);
                                                    date = Date.parse(line[0]);
                                                    traffic.push([
                                                            date,
                                                            parseFloat(line[1].replace(',', ''), 10)
                                                    ]);
                                            });
                                    } catch (e) {  }
                                    options.series[0].data = traffic;
                                    chart = new Highcharts.Chart(options);
                            });
                    });
</script>
</head>
<body>

<div id="container" style="width: 100%; height: 400px; margin: 0 auto"></div>

</body>
</html>

我尝试过摆弄像这样的设置

date = Date.parse(line[0] + ' Europe/London');

date = Date.parse(line[0] + ' London');                    

我还尝试将其放在 php 文件的顶部:

<?php date_default_timezone_set('Europe/London'); ?>  

data.php 吐出:

2013-09-15 11:49:42 18.3 2013-09-15 11:52:42    18.4 2013-09-15 11:55:42    18.4 2013-09-15 11:58:42    18.4 2013-09-15 12:01:42    18.3 2013-09-15 12:04:42    18.5 2013-09-15 12:07:42    18.6 2013-09-15 12:10:43 18.6 2013-09-15 12:13:43   18.8 2013-09-15 12:16:43    19 2013-09-15 12:19:43  19.3 2013-09-15 12:22:43    19.4 2013-09-15 12:25:43    19.5 2013-09-15 12:28:43    19.6 2013-09-15 12:31:43    19.8 2013-09-15 12:34:45 20.1 2013-09-15 12:37:43   20.1 2013-09-15 12:40:43    20.2 2013-09-15 12:43:43    20.3 2013-09-15 12:46:43    20.3

时间正确的地方。

我现在添加了:

    Highcharts.setOptions({
            global: { useUTC: false }
                    });

刻度线是正确的,但工具提示上显示的时间仍晚一个小时。

更新:发现问题 - 我需要按照建议添加 useUTC: false 选项,然后更改以下行:

 return Highcharts.dateFormat('%H:%M', this.x-(1000*3600)) +': <b>'+ this.y + '</b>';

to

 return Highcharts.dateFormat('%H:%M', this) +': <b>'+ this.y + '</b>';

伦敦在夏季使用 BST,在冬季使用 GMT。看:here http://www.timeanddate.com/library/abbreviations/timezones/eu/bst.html

BST 相当于 UTC+1。由于这个原因,这是需要了解的重要信息:您返回的结果是 UTC,而不是 BST。如果您希望检索本地时间,则需要将 useUTC 的全局选项设置为 false。看:here http://api.highcharts.com/highcharts#global.useUTC.

此页面提供了如何正确设置全局选项的示例:link http://www.highcharts.com/docs/getting-started/how-to-set-options

本质上,您需要添加以下内容:

global: {
  useUTC: false
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Highcharts - 休息 1 小时 的相关文章

  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • 从未用 @flow 标记的导入文件中获取类型定义

    TL DR我怎么告诉flow从未声明的导入模块导入类型定义 flow 加长版 流接缝能够从不使用流语法的文件中派生类型 请参阅示例 示例文件 flow js if Math random lt 0 5 var y hello else va
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • 使用 KnockoutJs 映射插件进行递归模板化

    我正在尝试使用以下方法在树上进行递归模板化ko映射 插入 http knockoutjs com documentation plugins mapping html 但我无法渲染它 除非我定义separate每个级别的模板 在以下情况下
  • PHP 中只保留数组的前 N ​​个元素? [复制]

    这个问题在这里已经有答案了 有没有办法只保留数组的前 N 个 例如 10 个 元素 我知道有array pop 但是有没有更好 更优雅的方法呢 您可以使用array slice http php net array slice or arr
  • 在javascript中解析json - 长数字被四舍五入

    我需要解析一个包含长数字的 json 在 java servlet 中生成 问题是长数字被四舍五入 当执行这段代码时 var s x 6855337641038665531 var obj JSON parse s alert obj x
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • 如何获取给定 DOM 元素的所有定义的 CSS 选择器?

    如何使用 jQuery 获取给定 DOM 元素的所有定义的 CSS 选择器 定义后 我的意思是在应用于任何样式表的所有 CSS 选择器document 在某种程度上 这类似于 FireBug 实现的功能 其中显示所选 DOM 元素的所有应用
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中

随机推荐

  • UIBarButtonSystemItem PageCurl 不随工具栏改变颜色

    我想改变导航栏和工具栏的颜色 但是卷页系统图标的颜色UIBarButtonSystemItemPageCurl不随工具栏色调颜色改变 如果我使用书签等其他系统图标 它们会改变 有人有解决此类问题的方法吗 我使用以下几行来更改导航栏和工具栏的
  • 如果访问X86系统中不存在的物理地址怎么办?

    我正在开发一个 Linux 内核模块 它通过处理进程的页表将物理地址范围映射到进程虚拟地址空间 然后 我脑子里有一个问题 如果PTE指向一个不存在的物理地址会发生什么 例如 我的 X86 笔记本电脑有 8GB DRAM 如果 PTE 的值为
  • Flexbox div 不占据整个宽度

    我试图理解如何display flex有效 但每当我设置它时 孩子们都不会占据整个宽度 我预计三个 div 会占据屏幕宽度的 33 我究竟做错了什么 flexbox display flex flexbox div border 1px s
  • 创建一个 DateTimeOffset,设置为与服务器不同时区的午夜

    我有一个设置为 EST 的服务器 我想知道我需要做什么来创建设置为当天午夜但在不同时区的 DateTimeOffset 例如太平洋标准时间 获取相关的TimeZoneInfo 构造一个DateTime其中包含local时间 即午夜 Call
  • C++(11):如果两者都很好,何时使用直接初始化或复制初始化

    在重复的呼喊开始之前 我知道以下问题 以及其他一些问题 与此问题非常相关 在 C 中 复制初始化和直接初始化之间有区别吗 https stackoverflow com questions 1051379 is there a differ
  • 使用 android 捕获按键

    如何使用 android SDK 捕获手机按键 我已经环顾了几个小时没有找到任何东西 例如 在某些情况下 我想在用户按下手机上的 挂断 按钮时捕获消息 然后在消息到达操作系统之前将其丢弃 这可能吗 您可以处理视图中的关键事件 也可以处理整个
  • C 中 read() 和 fgets() 之间的区别

    我想从标准输入流中读取数据 使用 read 或 fgets 从 stdin 流读取有什么区别吗 我用 fgets 附加了以下两段代码并阅读 有了fgets 我可以使用java程序轻松地编写和读取c程序 通过读写 我的 java 程序挂起 等
  • 如何一次将多个值分配给一个结构体?

    我可以在 Foo 结构体的初始化中执行此操作 Foo foo bunch of things initialized 但是 我不能这样做 Foo foo foo bunch of things initialized 那么 两个问题 为什么
  • 如何使用 React.js 在 Botframework v4 聊天应用程序中执行发送“打字指示器”?

    我正在使用 botframework v4 构建一个聊天应用程序 以 React js 作为前端 以 net core 作为后端来生成令牌 我想使用 React 在我的聊天中实现 Typing 指示器 尝试使用 window WebChat
  • Ubuntu 上的 rpy2 安装

    我对 Linux 还很陌生 在安装 Rpy2 时遇到了一些严重的问题 我通过突触包管理器安装了旧版本的 Rpy2 但我需要更新版本并将其删除 如 Rpy2 文档中所述 Rpy2 目录中的所有文件 我下载了tar gz 来自 SourceFo
  • 如何使用 Timer 创建时钟?

    我正在尝试创建一个七段显示 它使用计时器以及 ActionListener 和 actionPerformed 自动移动 我认为如果我使用 for if 语句 它会自动从 0 循环到 2 并为每个数字段设置背景颜色 但是 当我显示它时 它停
  • HtmlAgility:没有出现任何内容(C#,UWP)

    我尝试使用 htmlagilitypack 来解析表格 完成后我意识到我忘记证明 htmlagility 部分是否有效 很明显它不起作用 我也不知道我错过了什么 我在哪里做错了 因为我是初学者 所以请不要对我太严厉 public parti
  • 获取资源错误

    每次我在主要活动中调用 getResources 时 都会导致错误并且应用程序被迫退出 如果我调用 getApplicationContext getResources 甚至在 Eclips 中的全新项目中也会发生这种情况 在通话之前我需要
  • 使用 CSS 替换 ul 项目符号点样式

    我想替换 ul 列表的列表样式类型属性 以便外部是一个圆盘 然后一个内部 ul 列表是一个圆 再一个内部是一个圆盘 依此类推 本质上 我想要的是这样的 ul li Lorem ipsum li li ul li Lorem ipsum li
  • 如何将匿名类型转换为已知类型

    我有一个匿名类型变量 该变量是从另一个函数获取的 我们无法更改它 var a property1 abc property2 def 我有一堂课 class Myclass string property1 string property2
  • 根据用户输入设置选中的复选框

    我有这些 HTML 元素 div div
  • 将 sql_variant 转换为 varchar 形式提供的 data_type

    我有一个如下的sql表 Types table Name varchar 50 Type varchar 50 Car varchar 50 Apples int 我正在使用另一个表来存储值 例如 Apples table V
  • 如何在 iBatis 中获得排序结果?

    我有一个表 mgr employee 有 2 列 managerName teamEmployee 虽然我在 sql 中进行了排序 但我在 java 中得到了未排序的 resultMap 如何获得排序后的地图 为什么 iBatis 会混淆
  • Kubernetes:从远程浏览器访问仪表板

    我有一个小型 Kubernetes 集群 主要是 这本教程 https www profiq com kubernetes cluster setup using virtual machines 因此 我在 Virtual Box Cen
  • Highcharts - 休息 1 小时

    我似乎无法弄清楚为什么 x 轴上的时间总是晚一个小时 我知道它与这条线有关 但我不知道将其更改为什么 date Date parse line 0 UTC 我当前的时区是伦敦 我有这个文件 index php