Firefox并没有使用像#34; Wed这样的格式使用新的Date()。 2015年10月28日"

时间:2015-04-06 21:53:49

标签: javascript jquery html cross-browser

这就是我所拥有的。

 date = testInfoSelect.testDate;
 console.log(date);
 date = new Date(date);
 console.log(date);
 date = $.datepicker.formatDate('mm/dd/yy', date);
 console.log(date);

这是FF中的控制台输出。

"Wed. February 24, 2016"
Invalid Date
"NaN/NaN/NaN"

这是Chrome中的控制台输出。

Wed. February 24, 2016
Wed Feb 24 2016 00:00:00 GMT-0500 (Eastern Standard Time)
02/24/2016

对于我的申请,我不能更改日期格式,即testInfoSelect.testDate,在这种情况下是“2016年2月24日星期三”。

我做了什么:

  

dateString表示日期的字符串值。字符串应该在一个   Date.parse()方法识别的格式(符合IETF的RFC 2822   时间戳以及ISO8601的版本。

MDN文档中最相似的日期格式是:

Date.parse('Wed, 09 Aug 1995 00:00:00 GMT');

如果不改变“2016年2月24日星期三”的格式,我该如何才能在FF中获得正确的结果

由于

1 个答案:

答案 0 :(得分:1)

如@adeno所提到的黑客,你可以:

new Date("Wed. February 24, 2016".replace('.', ''));

new Date("Wed. February 24, 2016".replace('.', ','));

在你的情况下:

new Date(date.replace('.', ''));

要获得GMT时间,您可以执行以下操作:

> new Date(date.replace('.', '') + " GMT");
< Date 2016-02-24T00:00:00.000Z

FF,Chrome和Opera的结果:

火狐:

▶ new Date("Wed. February 24, 2016".replace('.', '') + " GMT");
⯇ Date 2016-02-24T00:00:00.000Z

铬:

 > new Date("Wed. February 24, 2016".replace('.', '') + " GMT");
<- Wed Feb 24 2016 01:00:00 GMT+0100 (CET)

歌剧:

>>> new Date("Wed. February 24, 2016".replace('.', '') + " GMT");
[+] Wed Feb 24 2016 01:00:00 GMT+0100