【问题标题】:Parsing JSON - Converting a Mongoose time stamp into EPOCH time解析 JSON - 将 Mongoose 时间戳转换为 EPOCH 时间
【发布时间】:2016-04-20 16:53:17
【问题描述】:

当我查询我的 REST API 时,我收到如下 JSON 响应:

{"litres":50,"nodeID":"2","location":"TESTDEPLOY","_id":"571645da91de00136612811b","__v":0,"time":"2016-04-19T14:51:06.489Z"}

此响应的一部分是时间戳:"time":"2016-04-19T14:51:06.489Z"

有什么方法可以在解析 JSON 时将此时间戳更改为纪元时间,因为我想将其输入到使用纪元时间的图表工具中。

【问题讨论】:

  • 您可能会发现this answer 也很有帮助。
  • 您所说的“纪元”时间是什么意思? JavaScript 有一个 Date 对象,这可能是你的意思,但现在还不清楚。

标签: jquery json node.js date mongoose


【解决方案1】:

使用momentJS 你可以像这样转换时间字段:

var inputJson = {"litres":50,"nodeID":"2","location":"TESTDEPLOY","_id":"571645da91de00136612811b","__v":0,"time":"2016-04-19T14:51:06.489Z"};

var m = moment(inputJson.time, 'YYYY-MM-DDTHH:mm:ss.SSSZZ');

var ts = moment(inputJson.time).valueOf();

var s = m.format("M/D/YYYY H:mm");

document.write('ts: ' + ts + '  s: ' + s);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>

【讨论】:

    【解决方案2】:

    查看MomentJS 收到响应后,您将使用此库转换时间值。

    类似:

    var moment = require('moment');
    
    //later in code
    responseValue.time = moment(responseValue.time).valueOf(); //to get a value like 1415806206570
    

    moment(String) 创建一个解析给定值的新“时刻对象”。 .valueOf() 给出自 unix 纪元以来的时间(以毫秒为单位)。

    【讨论】:

    • 他将如何使用该库来解析该值?没有示例,这基本上是答案的链接。
    猜你喜欢
    • 2019-12-24
    • 2016-02-13
    • 2017-03-23
    • 2013-01-04
    • 2018-11-29
    • 2020-01-19
    • 2015-08-19
    • 2017-02-13
    • 2017-09-01
    相关资源
    最近更新 更多