【问题标题】:Display time format data into highcharts将时间格式数据显示为highcharts
【发布时间】:2016-04-19 10:37:33
【问题描述】:

我想绘制一些 MySQL TIME(3) 格式的时间数据,所以 hh:mm:ss.fff 到 Highcharts。

现在我可以通过转换为秒来显示它:

$sql = "选择 TIME_TO_SEC(time_format(TIMEZERO, '%H%:%i:%s.%f')) 为 TIMEZERO, TIME_TO_SEC(time_format(TS, '%H%:%i:%s.%f')) 作为 TS FROM timezero 按 TS 排序";

使用如下所示的 JSON 文件:

[["45130","0"],["45130","0"],["45130","0"]]

但如果我不转换为秒,它们就会变成文本字符串:

$sql = "选择 (time_format(TIMEZERO, '%H%:%i:%s.%f')) 作为 TIMEZERO, (time_format(TS, '%H%:%i:%s.%f')) as TS FROM timezero ORDER BY TS";

JSON 输出:

[["12:32:10.274000","00:00:00.000000"],["12:32:10.281000","00:00:00.000000"],["12:32:10.289000"," 00:00:00.000000"]]

有什么办法可以保留数据库中存储的原始数据的TIME(3)格式,并将其显示到轴标签中?

【问题讨论】:

    标签: javascript php mysql


    【解决方案1】:

    我没有完全理解您的问题,但是如果您想以自定义格式获取日期,只需从 db 获取原始日期,然后使用 php 将其转换为您想要的任何日期格式。例如。 date("d-m-Y H:i", strtotime($rawDateFromDB));

    【讨论】:

      【解决方案2】:

      其实我找到了一个方法: 我从 MySQL 数据库中获取时间字符串,然后在 PHP 文件中使用explode 函数解析到秒数:

              $TIME = ($row['TIME']);
              $SIGN = substr($row['TIME'],0,1);
              $explode = explode(':', $TIME);
              if (ctype_digit($SIGN)) {$TIME = +1 * (abs($explode[0]) * 3600 + $explode[1] * 60 + $explode[2]);}
              else                    {$TIME = -1 * (abs($explode[0]) * 3600 + $explode[1] * 60 + $explode[2]);}
              $TS    = (strtotime($row['TS'])*1000);
              $data[] = array($TS, $TIME);
      

      而且我可以在几秒钟内用十进制数字绘制具有负值和正值的解析数据: 比使用

      将人类可读的格式解析回 HH:MM:SS:F 转换为轴属性
            yAxis: {
          labels: {                
              formatter: function () {
            h = Math.floor(this.value / (60*60));
            m = Math.floor(this.value / 60);
            s = Math.floor(this.value % 60);
            s = s % 60;
            m = m % 60;
            h = h % 24;
            if (h < 9) h = "0" + h;
            if (m < 9) m = "0" + m;
            if (s < 9) s = "0" + s;
            return  [h, m, s].join(':');
              }
          }
      },
      

      现在我只需要找到一种方法,通过 Ajax 调用从导入的 JSON 中制作多个系列。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-27
        • 1970-01-01
        • 1970-01-01
        • 2017-12-17
        • 1970-01-01
        相关资源
        最近更新 更多