Как получить текущее время UTC в формате JSON, используя Javascript? - PullRequest
0 голосов
/ 19 ноября 2009

У меня есть JSON Date, например: "/ 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.

Затем сделайте разницу между этими двумя датами и получите разницу в количестве минут.

Может ли кто-нибудь помочь мне с этим?

Ответы [ 2 ]

2 голосов
/ 19 ноября 2009

javascript Date объекты: all 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)
1 голос
/ 03 июня 2015

Лучший способ сделать это в современных реализациях JS прост:

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

Это было стандартизировано в EMCAScript 5.1. Если вам нужна поддержка старых браузеров, вы можете сделать длинную версию (включая что-то вроде json2.js , если необходимо):

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