如何将日期时间字符串转换为 UTC 以在 Highcharts 上绘制点

2024-02-28

我正在研究 HighCharts 样条不规则数据。这里数据传递为

data: [
      [Date.UTC(1970,  9, 27), 0   ],
      [Date.UTC(1970, 10, 10), 0.6 ],
      [Date.UTC(1970, 10, 18), 0.7 ],
      [Date.UTC(1970, 11,  2), 0.8 ],
      [Date.UTC(1970, 11,  9), 0.6 ],
      [Date.UTC(1970, 11, 16), 0.6 ],
      ]

但是,我通过 AJAX 调用从 python 后端发送数据

data: [
      "2013-11-07 00:10:27", 0   ],
      "2013-11-07 00:10:27", 1   ],
      "2013-11-07 00:10:27", 2   ],
      "2013-11-07 00:10:27", 3   ],
      "2013-11-07 00:10:27", 4   ],
      "2013-11-07 00:10:27", 5   ],
      ]

因此,数据点不会被绘制。如何在后端(python)将日期时间转换为 UTC 或任何其他日期时间格式,这将使 Highcharts 能够绘制正确的 X 和 Y 轴点。

这是我尝试过的。 自 UTC 时间起Date.UTC(1970, 9, 27)返回秒数,因此我将时间转换为自 1970 年 1 月 1 日以来经过的总秒数。

time = "2013-11-06 18:00:00"
time = ((datetime.datetime.strptime(time, '%Y-%m-%d %H:%M:%S'))-datetime.datetime(1970,1,1)).total_seconds()            

然后将其传递给用户界面,因此我的数据发送为

[[1383760800.0, 1870.2000000000007], [1383762600.0, 0.30000000000000004], [1383761700.0, 4.299999999999802]]

现在,当我将此数据传递到 highcharts 时,Y 轴显示正确的值,但 X 轴(需要在其上绘制日期时间)显示时间为 05:52。

我怎样才能纠正它?

这是我的 Highcharts 代码。

function comparison_chart(result) {
  var MAXPOINTS = 20;

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

$('#container').highcharts({
    chart: {
      events: {
      load: function() {

          // set up the updating of the chart each second
          var series = this.series[0];


          setInterval(function() {
              var x = (new Date()).getTime(), // current time
                  y = Math.random();
              if(series.data.length > MAXPOINTS){
                series.addPoint([x, y], true, true);  
              }
              else{
                series.addPoint([x, y], true, false);
              }



          },5000);
      },
  }

    },
    title: {
        text: 'Energy Chart'
    },
    xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: { // don't display the dummy year
            month: '%e. %b',
            year: '%b'
        }
    },

    tooltip: {
        formatter: function() {
            var s;
                s = this.y + 'kWh';
            return s;
        }
    },

    series: [{
        type: 'spline',
        name: 'Random data',
        data: result,
        showInLegend: true,

    }]
  });
}

问题是 HighCharts 期望时间序列数据以毫秒为单位,而不是秒,因此您需要输入 1000 的乘数。

您可以将字符串转换为自纪元以来的毫秒数,如下所示:

>>> int(datetime.datetime.strptime("2013-11-07 00:10:27", "%Y-%m-%d %H:%M:%S").strftime('%s')) * 1000
1383811827000
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将日期时间字符串转换为 UTC 以在 Highcharts 上绘制点 的相关文章

随机推荐

  • 开发wordpress插件时如何调试php代码?

    我开始自己开发一些 WordPress 插件 在开发插件时 我在插件中使用不同的钩子 wp head add shortcode 等 函数 谁能告诉我一个简单方便的方法调试 WordPress 插件或者有没有其他方法可以轻松开发 WordP
  • 如何向 zend 表单添加“纯文本节点”?

    我正在尝试以 zend 形式添加纯文本节点 目的是仅显示一些静态文本 问题是 我不知道有任何这样的方法可以做到这一点 我已经使用了 描述 但必须将其附加到表单元素上 有什么方法可以简单地将一些文本显示为表单的一部分吗 Zend 将所有内容视
  • Oracle:存储过程的参数数量可变

    我想使用存储过程将各种用户插入到 Oracle 数据库中 一个用户 表 user 有名字 姓氏和出生日期 CREATE TABLE USER Name VARCHAR2 50 Surname VARCHAR2 50 Dt Birth DAT
  • Ruby:如何创建公共静态方法?

    在Java中我可能会这样做 public static void doSomething 然后我可以静态访问该方法而无需创建实例 className doSomething 我怎样才能在 Ruby 中做到这一点 这是我的课 根据我的理解se
  • 使用点将提示标签链接到系统发育树

    我正在尝试使用 R 中的 ape 包和函数plot phylo 生成一个非超度量树 我正在努力寻找任何有关如何使尖端标签在其左边缘垂直对齐以及如何用一系列点 可变长度 将物种名称连接到节点尖端的文档 任何帮助以及 R 中可能能够实现此目的的
  • 小黄瓜,两种情况可以相互依赖吗

    Scenario1 When a new user clicks on sign up page And provides login ID Then user is signed up and can view profile page
  • Node JS - 将数据从 Busboy 流式传输到 AWS S3

    我正在尝试通过 ec2 将文件上传到 s3 我的第一个方法是 将文件完全上传到 ec2 然后将该文件上传到 s3 这种方法不好 因为从 ec2 到 s3 的传输时间是浪费时间 目前我正在尝试使用服务员上传流 to s3上传流这样上传到 ec
  • 使用 Boost Python 和 std::shared_ptr

    我正在尝试让 Boost Python 与 std shared ptr 很好地配合 目前 我收到此错误 Traceback most recent call last File test py line 13 in
  • C# 中强制垃圾回收的最佳实践

    根据我的经验 似乎大多数人都会告诉您强制垃圾收集是不明智的 但在某些情况下 您正在处理的大型对象并不总是在 0 代中收集 但内存是一个问题 是强制收集可以吗 有这样做的最佳实践吗 最佳实践是不强制进行垃圾回收 根据 MSDN 强制垃圾是可能
  • 谁能推荐一个Java富文本编辑器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 Cloud Endpoints 中的客户端库。 jar 导入不起作用

    我为我的 appengine python 应用程序创建了一个 jar 文件 我已按照以下步骤导入我的库 jar 文件这个例子 https developers google com appengine docs python endpoi
  • Java 中的最终变量操作

    谁能告诉我下面这行在 Java 上下文中的含义是什么 最终变量仍然可以是 被操纵 除非它是不可变的 据我所知 通过将任何变量声明为最终变量 您将无法再次更改它 那么它们的含义是什么不可变的在上面一行 这意味着如果您的最终变量是引用类型 即不
  • nginx:使用环境变量

    我有以下场景 我有一个环境变量 SOME IP已定义并希望在 nginx 块中使用它 参考Nginx 文档 http wiki nginx org CoreModule我用env指令中的nginx conf文件如下 user www dat
  • 媒体基金会 onReadSample 返回的样本大小错误

    我正在致力于将捕获库从 DirectShow 转换为 MediaFoundation 捕获库似乎工作得很好 但我在运行 Windows 8 32 位的平板电脑上遇到集成网络摄像头的问题 枚举捕获格式时 如中所述媒体基金会文档 http ms
  • Visual Studio 2013 中的调用目标引发了异常

    今天我打开的时候Visual Studio 2013 Professional Edition 我得到了错误exception has been thrown by a target of invocation 我也尝试打开ILSpy调试一
  • 更新 RDLC 报告中的数据源

    我正在使用 SQL 视图将数据传递到 RDLC 报告 现在 如果我向 SQL 视图添加一列 如何在 RDLC 报告中获取这个新添加的列 目前 我必须删除 RDLC 数据集并每次创建新的数据集 这根本不可行 希望有人有更好的方法来做到这一点
  • 通过ajax调用将文本加载到textarea中

    我想将从 dB 检索到的一些文本加载到文本区域中 用户点击一个链接 a class editlink href a JQuery 将 ID 传递给 GO PHP editlink click function get go php para
  • spring-data-jpa: ORA-01795: 列表中表达式的最大数量为 1000

    我正在使用 Spring Data JPA 我想从 a 获取 client id 的交易List
  • 修复 IE 错误:总是一个好主意吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Internet Explorer 改进a lot在过去的 3 年里 自 IE 10 以来 IE 已经成为一个相当不错的浏览器 具有良好的性能
  • 如何将日期时间字符串转换为 UTC 以在 Highcharts 上绘制点

    我正在研究 HighCharts 样条不规则数据 这里数据传递为 data Date UTC 1970 9 27 0 Date UTC 1970 10 10 0 6 Date UTC 1970 10 18 0 7 Date UTC 1970