2015-04-06 84 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

感謝您的詳細信息。 –

相關問題