2014-07-03 129 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(); 

和一切工作完美无瑕。