我正在使用角矩中的 amCalendar 过滤器来显示视图中的时刻。
- p.example:“今天凌晨 2:30”。
amCalendar 过滤器不接受 Date 作为类型。我创建了这个函数,它返回传递一个Date 参数的短日期 ISO 字符串:
function toShortISO(d){
var date;
date instanceof Date?
date = d:
date = toDate(d);
function pad(n) {return n<10 ? '0'+n : n}
return date.getUTCFullYear()
+ pad( date.getUTCMonth() + 1 )
+ pad( date.getUTCDate() )
+ 'T' + pad( date.getUTCHours() )
+ pad( date.getUTCMinutes() )
+ pad( date.getUTCSeconds() )
+ 'Z';
}
传递一个日期,此函数返回20150905T060000Z
(每个示例)。现在我可以使用这个字符串应用 amCalendar 过滤器。
在视图中按预期显示“今天凌晨 2:30”,但控制台中有此警告:
参考:https ://github.com/moment/moment/issues/1407
在参考解释中,必须创建一个矩对象来解决这个问题,但我不知道如何,我认为该示例适用于 nodeJS 而不是 angularJS。
我试试这个:
function toShortISO(d){
return moment(d.toISOString());
}
但不要工作。
有什么建议吗?
谢谢!