在其中一个应用程序中,我得到的日期为以下格式。 2014年8月18日星期一23:59:59 IST 2014 下面是角度js的ng-repeat
Offer ends: {{msg.endTime}}
以此格式呈现为应用程序接收日期。 优惠截止日期:2014年8月18日星期一23:59:59 IST 2014
我想显示剩余时间而不是日期/时间。 喜欢优惠在2天40分10秒结束
使用和不用担心TIMEZone实现的简单方法
我打算使用格式为moment().format("ddd MMM HH:mm:SS")
答案 0 :(得分:4)
你可以为那个pourpose创建自己的过滤器......
yourOwnApp.filter('datetimeToNow', function() {
return function(input) {
if(!input) return;
return moment(input).fromNow();
};
});
...随后只需在您的ngRepeat中调用它:
Offer ends: {{msg.endTime | datetimeToNow}}
干杯, 卢卡
答案 1 :(得分:3)
使用力矩和角度矩非常容易实现。您可以使用am-time-ago
指令。 https://github.com/urish/angular-moment
<span am-time-ago="message.time"></span>
<span am-time-ago="message.time" am-preprocess="unix"></span>
am-time-ago
适用于“负面”和“负面”时间(过去)和“积极的”#39;时间(未来)
答案 2 :(得分:0)
我使用Luca's回答修复,并更改日期格式如下。 删除了IST 2014年8月18日星期一23:59:59
<span>Ends {{msg.endTime | formatTime}}</span>
-
myApp.filter('formatTime', function() {
return function(text) {
var m = moment(text , 'ddd MMM DD HH:mm:ss YYYY');
return m.fromNow();
}
})