2014-07-03 96 views
3

我使用日期過濾器在我的角度應用程序中格式化我的日期。角度日期過濾器不工作在Firefox中

在Firefox中,我得到的日期值

未定義NaN時,楠楠:楠:NaN的PM

在Chrome中的作品完美地

軍25,2014 7:22:47 AM

我的代碼如下。

var formatDate = new Date(info.list[i].date); 
var newDate=$filter('date')(formatDate, 'medium'); 

如何讓它在Firefox中工作?

+0

這是哪個版本的Firefox? – ivarni

+0

您看到的行爲與嘗試格式化未定義日期類似(請參閱http://plnkr.co/edit/DOYda9RCyYCzLn0gV48G?p=preview)。當你測試時,有沒有其他的東西會導致'info.list [i] .date'未定義?該過濾器可以在Firefox上的實際日期中正常工作,至少在29.0.1 – ivarni

+0

thnx快速響應ivarni,但我已驗證... info.list [i] .date沒有被忽略,我得到了Chrome瀏覽器 – dip

回答

8

我遇到了這個問題,發現問題是Chrome/Opera和Firefox/Safari有不同的公差來創建一個新的Javascript日期對象。

這個作品在Chrome和Opera,而不是Firefox和Safari:

var myDate = new Date("2014-08-12 11:46:26.509") 

這適用於所有提到的瀏覽器:

var myDate = new Date("2014-08-12T11:46:26.509") 

有一次,我一個適當的日期對象創建的,則AngularJS日期過濾器按預期工作。

+0

工作就像一個魅力,太神奇了! –

2

有一個moment.js庫,它有助於日期解析並且可以跨瀏覽器使用。

我也有一個問題,NaN S IN Firefox和我用

var myDate = Date.parse(date); 

的日期創建。切換到:

var myDate = moment(date).toDate(); 

和一切工作完美無瑕。