我的日期总是超出一个小时——解析JSON日期



我住在格林威治时间,现在是+1夏令时,这可能是相关的…

我有一个webservice,它拉下一个日期,以这种格式结束

/日期(1234567)/"

为了找出这个日期是什么,我只是在去掉斜杠后对它进行Eval。

下面是一个例子:

var jsonDate = 'Date(1304515498497)';
alert (new Date(1304515498497).toString() + "n" +
           Date(1304515498497).toString()  + "n" +
            eval(jsonDate));      
http://jsfiddle.net/yPCNE/1/

如果我在它前面加上new,日期就会改变,这是不正确的。然而,在我的代码中,如果我删除New,我总是得到今天的日期。这可能是使用datejs库的结果。从我所看到的,执行eval('new ' + date)导致时间正好落后一个小时,但是alert()调用两个日期显示它们都被设置为+1 GMT并且除了一个小时之外是相同的。我不知道它是从哪里来的。

有更好的方法吗?我只是想将传入的JSON日期转换为常规日期,而不需要任何+1。

如果你不把new放在前面,Date().toString()将返回当前时间,无论你在括号内输入什么。

alert (Date(1).toString() + "n" +
       Date(42).toString()  + "n" +
       Date("banana").toString());  //All return current time

相关内容

  • 没有找到相关文章

最新更新