Javascript Moment.js amDateFormat始终返回1970年的日期

Javascript Moment.js amDateFormat始终返回1970年的日期,javascript,angularjs,timestamp,momentjs,angular-moment,Javascript,Angularjs,Timestamp,Momentjs,Angular Moment,我正在我的应用程序中使用和 出于某种原因,它将我所有的历元时间戳转换为1970年的同一日期 {{tag.added_epoch}amDateFormat:'ddddd,MMMM Do YYYY'} 这就是标记的内容。added_epoch值是added_epoch:143252800 但是,当我在线转换时,我得到了正确的日期: 你知道为什么我的过滤器将143252800变成1970年1月17日星期六?尝试编写自己的过滤器,如下所示: newapp.filter("fromTimestamp

我正在我的应用程序中使用和

出于某种原因,它将我所有的历元时间戳转换为1970年的同一日期

{{tag.added_epoch}amDateFormat:'ddddd,MMMM Do YYYY'}

这就是
标记的内容。added_epoch
值是
added_epoch:143252800

但是,当我在线转换时,我得到了正确的日期:


你知道为什么我的过滤器将
143252800
变成1970年1月17日星期六

尝试编写自己的过滤器,如下所示:

 newapp.filter("fromTimestamp", function(){
   return function(timestamp, format){
     return moment.unix(timestamp).format(format)
   }
 })
并使用它们

<p class="date">{{date | fromTimestamp:'dddd, MMMM Do YYYY'}}</p>

{{date | fromTimestamp:'ddddd,MMMM Do YYYY'}


我只是快速总结问题和解决方案

js提供了两种从unix时间戳创建日期的不同方法
moment(143252800)
moment.unix(143252800)

两者同时启动(1970年1月1日凌晨12点UTC),但
moment()
使用毫秒表示,大约为17天,而
moment.unix()使用秒

角度力矩支持
amFromUnix
过滤器,请参阅

您可以按以下方式使用它

<time am-time-ago="myDate|amFromUnix">
{{myDate|amFromUnix|amCalendar}}

{{myDate | amfromnix | amCalendar}}

您是否尝试过
moment.unix()
在角度力矩中,它将是
我得到了这个错误
未知提供者:amFromUnixFilterProvider我快速查看了moment.js,如果我只使用
moment(143252800)
我用
unix
方法得到了1970年的日期我得到了2015年的日期,所以你的数字似乎是正确的。从角度力矩文档:注意:要使用amFromUnix,请安装角度力矩版本1.0.0-beta。3@Arminmsg怎样?他们没有这样的构建:(哦,nvm在CDN上找到了它。最新的构建是1.0.0-beta3,看看LabelTanks!+1,非常干净:)Arminmsg确实回答了我的确切问题,但您的解决方案实际上可能被用来替换我们的代码。@LeonGaban感谢+1)