javascript - 连接 JSON 对象中的设备读数 - Javascript

标签 javascript mysql json date

我在现场有设备可以将 session 格式的读数发送到数据库。这些 session 有一个开始时间、一个结束时间和一个 session 时间值(表示 session 持续了多长时间)。当我调用数据库 (MySQL) 时,它会在我请求的定义月份(例如,我可以在 2018 年 12 月为所有 session 发送回设备的每个 session 的开始、结束和持续时间的每一行那个月)。这是数据库发回给我的:

DeviceUID: xxx-xxx-xxx
Start Date: 2018-12-10T17:12:31.000Z
End Date: 2018-12-10T21:32:12.000Z <- I convert this to YY:MM:DD HH:mm:ss
Duration: 16237312                 <- This is a value in seconds

我想做的是创建一个 JSON 对象,该对象包含每个月的每一天的条目,以及当天 session 总持续时间的值。请注意,每一天都应该只有一个条目,即当天所有持续时间的总和。见下文:

{
  "2018-12-01": "02:12:54",   <-- duration in HH:mm:ss
  "2018-12-02": "01:43:52",
  ...
}

我目前拥有的代码可以对从 MySQL 数据库接收到的行进行 for each 循环,但我不确定如何处理每天的持续时间总和以及如何将其正确地放入 JSON 中。你能帮帮我吗?

注意:我只将这一天作为结束日期。因此,如果 session 于 2018-12-01 开始并于 2018-12-02 结束,我将仅将 session 的持续时间添加到 2018-12-02 的值。

最佳答案

我不确定您的代码库是什么样的,但这些是您需要采取的步骤:

  • 将对象命名为data,并将对象中的第一个键命名为date

  • 将第二个字段命名为duration

  • 将 date 的值设置为用户请求的日期。

  • 在您的每个通过每个设备的过程中,计算您的结束时间和开始时间之间的差异。

我已尽力理解您的问题,据我了解,您需要 session 中所有设备的总时间。

所以:

  • 通过将其设置为 0 来初始化duration
  • 然后,在 for each 中,将结束时间和开始时间之间的差值添加到duration
  • 将对象返回给用户。

希望这对您有所帮助!

关于javascript - 连接 JSON 对象中的设备读数 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53910806/

相关文章:

PHP - json 不通过循环解析

c++ - 如何在带有Visual Studio Code的Chromium中使用自动补全

c# - 如何在字符串中输入双引号

javascript - 如何检查用户输入的是不是数字?

javascript - 为什么 ChartJs 不能在 IE 中运行

最后排序 NULL 和 '' 时 MySQL ORDER BY 优化 - 这可能吗?

java - 使用 hibernate 条件 hibernate 组中的最后一条记录

c# - 单击gridview外部的按钮获取gridview的rowindex

javascript - 具有奇怪哈希文件名的 CSS 和 JS

MySQL for Excel 连接失败