Moment.js amDateFormat 总是返回 1970 年的日期
Moment.js amDateFormat always returning date from 1970
http://plnkr.co/edit/5zxXEEz30t51yGhgYWVF?p=preview
我正在我的应用程序中使用 Moment.js and Angular-moment。
出于某种原因,它将我所有的纪元时间戳转换为 1970 年的同一日期。
<td class="timespan">{{tag.added_epoch | amDateFormat:'dddd, MMMM Do YYYY'}}</td>
这就是 tag.added_epoch
的值 added_epoch: 1432252800
然而,当我在线转换它时,我得到了正确的日期:
知道为什么我的过滤器将 1432252800
变成了 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>
我只是快速总结问题和解决方案。
Moment.js 提供了两种不同的方法来从 unix 时间戳创建日期
moment(1432252800)
和 moment.unix(1432252800)
。
两者同时开始(UTC 时间 1970 年 1 月 1 日凌晨 12 点),但 moment()
使用数字作为毫秒,大约 17 天,而 moment.unix()
使用秒。
angular-moment支持amFromUnix
滤镜,见source
您可以通过以下方式使用
<time am-time-ago="myDate|amFromUnix">
{{myDate|amFromUnix|amCalendar}}
http://plnkr.co/edit/5zxXEEz30t51yGhgYWVF?p=preview
我正在我的应用程序中使用 Moment.js and Angular-moment。
出于某种原因,它将我所有的纪元时间戳转换为 1970 年的同一日期。
<td class="timespan">{{tag.added_epoch | amDateFormat:'dddd, MMMM Do YYYY'}}</td>
这就是 tag.added_epoch
的值 added_epoch: 1432252800
然而,当我在线转换它时,我得到了正确的日期:
知道为什么我的过滤器将 1432252800
变成了 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>
我只是快速总结问题和解决方案。
Moment.js 提供了两种不同的方法来从 unix 时间戳创建日期
moment(1432252800)
和 moment.unix(1432252800)
。
两者同时开始(UTC 时间 1970 年 1 月 1 日凌晨 12 点),但 moment()
使用数字作为毫秒,大约 17 天,而 moment.unix()
使用秒。
angular-moment支持amFromUnix
滤镜,见source
您可以通过以下方式使用
<time am-time-ago="myDate|amFromUnix">
{{myDate|amFromUnix|amCalendar}}