我住在格林威治时间,现在是+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