【问题标题】:How to get current UTC time in JSON format using Javascript?如何使用 Javascript 以 JSON 格式获取当前 UTC 时间?
【发布时间】:2009-11-19 03:00:33
【问题描述】:

我有一个 JSON 日期,例如:“/Date(1258529233000)/”

我得到下面的代码来将此 JSON 日期转换为字符串格式的 UTC 日期。

var s = "\\/Date(1258529233000)\\/";
 s = s.slice(7, 20);
 var n = parseInt(s);
 var d = new Date(n);
 alert(d.toString());

现在我需要获取当前的 UTC 日期和时间并将其转换为 JSON 日期格式。

然后在这两个日期之间做一个日期差异并得到分钟数差异。

有人可以帮我解决这个问题吗?

【问题讨论】:

标签: javascript json utc


【解决方案1】:

javascript Date 对象是 所有 UTC 日期,直到您将它们转换为字符串。

Date.fromJsnMsec= function(jsn){
    jsn= jsn.match(/\d+/);
    return new Date(+jsn)
}

Date.prototype.toJsnMsec= function(){
    return '/Date('+this.getTime()+')/';
}

//test
var s= "\/Date(1258529233000)\/";
var D1= Date.fromJsnMsec(s);
var D2= new Date();
var diff= Math.abs(D1-D2)/60000;
var string= diff.toFixed(2)+' minutes between\n\t'+
D1.toUTCString()+' and\n\t'+D2.toUTCString()+'\n\n'+s+', '+D2.toJsnMsec();
alert(string)

【讨论】:

    【解决方案2】:

    在现代 JS 实现中做到这一点的最佳方法很简单:

    var now = (new Date()).toJSON();
    

    这是在 EMCAScript 5.1 中标准化的。如果您需要支持较旧的浏览器,您可以使用长格式版本(如果需要,包括类似 json2.js 的内容):

    var now = JSON.parse(JSON.stringify({now: new Date()})).now;
    

    【讨论】:

      猜你喜欢
      • 2018-07-29
      • 1970-01-01
      • 2021-05-09
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-04
      相关资源
      最近更新 更多