Jquery 如何在用户给定的时间内将时间转换为Json格式?

Jquery 如何在用户给定的时间内将时间转换为Json格式?,jquery,json,Jquery,Json,我给出了一个时间段,并将其转换为JSON,但JSON对象返回的时间比用户时间段短15。如何在J-SON对象中获得相同的时间周期 例如: var starttime = 2015-05-26T00:00:00;var jsonconvert= new Date(starttime).toJSON(); 我得到了2015-05-25T 18:30:00.000Z的输出 如何获得我给定的时间输出?方法返回UTC日期,但date需要本地日期。因此,有两种方法,一种是在UTC中为日期构造函数指定日期,另

我给出了一个时间段,并将其转换为JSON,但JSON对象返回的时间比用户时间段短15。如何在J-SON对象中获得相同的时间周期

例如:

var starttime = 2015-05-26T00:00:00;var jsonconvert= new Date(starttime).toJSON();
我得到了2015-05-25T 18:30:00.000Z的输出

如何获得我给定的时间输出?

方法返回UTC日期,但date需要本地日期。因此,有两种方法,一种是在UTC中为日期构造函数指定日期,另一种是稍后将时区添加到日期对象

第一种方法是使用设置UTC日期而不是本地日期

第二种方法是将时区添加到日期,以便在toJSON期间减去时区并返回正确的日期

附言:

当它返回负数时被减去 如果时间早于UTC,则为值,反之亦然 您还必须将Z附加到字符串以使其正确 UTC日期时间字符串
谢谢Ankit,但这个问题在IE中解决了,但在谷歌chrome中却没有。。在google chrome中添加此步骤之前,它会给用户给定的时间,但在IE中,它会给我UTC时间。在添加了它的代理之后versa@AravindE您需要在日期后添加Z以获得正确的datetime字符串@Ankit谢谢,我已经这样做了,我有两个日期,一个是开始日期和开始时间,另一个是结束日期和结束时间,根据您的指示,我的开始日期和时间作为用户输入类型。但是我的结束日期和时间似乎落后了,它比用户输入时间晚了-15个小时。你能更新一下并通过fiddle给我举个例子吗?你输入什么作为结束日期
var starttime = "2015-05-26T00:00:00";
var date=new Date(starttime);    //create a local date
var date= new Date(Date.UTC(date.getFullYear(),date.getMonth(),date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds()));
//this is UTC date set using Date.UTC
jsonconvert=date.toJSON(); //returns the UTC Date
alert(jsonconvert)
var starttime = "2015-05-26T00:00:00";
var date=new Date(starttime);
date.setTime( date.getTime() - date.getTimezoneOffset()*60*1000 );//Add TimeZone to Local Date 
jsonconvert=date.toJSON()
alert(jsonconvert)