【问题标题】:convert Unix epoch timestamps to JavaScript date timestamps将 Unix 纪元时间戳转换为 JavaScript 日期时间戳
【发布时间】:2018-08-03 18:36:53
【问题描述】:

我有一个带有 Unix 纪元时间戳的数据库,我想在 Highcharts 图表中绘制这些值,这需要 JavaScript 日期时间戳(自 1970 年 1 月 1 日以来的毫秒数)。

数据库数组目前如下所示:

data: [[1519395624,100],[1519395804,100],[1519395984,178],

转换后的数组如下所示:

data: [[1519395624000,100],[1519395804000,100],[1519395984000,178],

最好的方法是什么?可能的选项: (1) 将每个数据库元素乘以 1000 (2) 读取数据库行时乘以PHP中的时间戳 (3) 在 Highcharts 格式化函数中乘以时间戳

我认为在 PHP 中读取数据库行时转换时间戳是最好的方法。我的 PHP 看起来像这样:

while($row=mysqli_fetch_row($result)){
        $rows['data'][]=$row;
    }

我应该如何更改 while 循环以乘以每行中的时间戳(第一个元素)?

【问题讨论】:

    标签: javascript php mysql highcharts


    【解决方案1】:
    while($row=mysqli_fetch_row($result)){
        $row[0] = $row[0] * 1000; 
        $rows['data'][]=$row;
    }
    

    【讨论】:

      【解决方案2】:

      如果您在 PHP 中读取数据库行只是为了将数据传输到客户端,并且您没有在 PHP 代码的其他任何地方使用给定的timestamp,请考虑在您的 SQL 请求中进行转换,例如:

      SELECT field, oter_field, timestamp * 1000 as timestamp ... FROM ...

      因此您不需要通过转换污染您的 PHP 或 JS 代码。

      在另一种情况下(如果您需要在 PHP 的其他地方使用该时间戳),最好在将时间戳发送到客户端之前对其进行转换。

      【讨论】:

        猜你喜欢
        • 2013-01-08
        • 2014-01-25
        • 2020-10-19
        • 2021-02-19
        • 2014-08-01
        • 2022-08-04
        • 1970-01-01
        • 2015-02-09
        相关资源
        最近更新 更多