2015-04-06 86 views
1

这就是我所拥有的。Firefox不支持新的Date(),格式如“2015年10月28日星期三”

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'); 

我应该怎么做才能得到正确的结果在FF不改变的格式“周三2016 2月24日,”

感谢

+0

这是一个黑客,但你可以做'日期= date.replace( “” “”)',它会工作,期间会把它弄垮 – adeneo

+1

不是强迫你使用库,而是你认为是moment.js吗?这对于日期操作非常有用 - 11.5k gz'd – ajndl

回答

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:

Firefox:

▶ 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 
+0

感谢您的详细信息。 –

相关问题