我有这个脚本:

var a="Thu Oct 07 16:50:0 CEST 2010";
var b=a.split("CEST");
var d = new Date(b[0]);
alert(d);​​​​​​​​​​​


但这不符合我的要求。实际上,日期结果与字符串中的原始结果不同。

输入的时间是2010年10月7日星期四16:00,但结果是2000年10月7日星期六格林尼治标准时间+0200(CEST)。
怎么了?

最佳答案

您只是在丢失有关这一年的信息。 split将字符串分割为一个数组,位于“ CEST”处,您只需解析第一个元素(“ CEST”左侧的字符串部分)。因此,您需要再次添加字符串的右侧部分,或者使用更适合的方法,例如replace

var a="Thu Oct 07 16:50:0 CEST 2010";
var b=a.split("CEST");
var d = new Date(b[0]+b[1]);
alert(d);​​​​​​​​​​​

var a="Thu Oct 07 16:50:0 CEST 2010";
var b= a.replace('CEST','');
var d = new Date(b);
alert(d);​​​​​​​​​​​

10-05 19:25