1

使用angular2-momentamTimeAgo中的管道时出现以下错误。

弃用警告:提供的值不是可识别的 RFC2822 或 ISO 格式。
moment 构造回退到 js Date(),这在所有浏览器和版本中并不可靠。
不鼓励使用非 RFC2822/ISO 日期格式,并将在即将发布的主要版本中删除。
请参阅http://momentjs.com/guides/#/warnings/js-date/了解更多信息。
参数:[0] _isAMomentObject:真,_isUTC:假,_useUTC:假,_l:未定义,_i:21-03-2017,_f:未定义,_strict:未定义,_locale:[对象对象]

管道也在印刷Invalid date

我这样使用它: <span class="date-created"> {{ job.createdAt | amTimeAgo }} </span>

的值job.createdAt是格式为的字符串:22-03-2017

我知道格式有问题,但不知道如何将自定义格式传递('DD-MM-YYYY')给管道,以便moment包和这个角度库可以识别它。

有任何想法吗?

4

3 回答 3

3

我想,字符串没有被正确转换为日期..您可以尝试以下两个选项:

{{job.createdAt |  date:'MM/dd/yyyy' | amTimeAgo }}

或在您的打字稿文件中将字符串转换为日期:

let newDate = new Date(job.createdAt);
于 2017-05-20T17:02:06.050 回答
0

如何创建一个新的时刻对象将其传递到管道中,例如:

let newMomentObj = moment(job.createdAt, 'DD-MM-YYYY'); 

并在您的 html 文件中:

<span class="date-created"> {{ newMomentObj | amTimeAgo }} </span>
于 2017-05-20T16:55:41.637 回答
0

从版本管道引入的 angular2-moment :1.4.0 amParse

将自定义格式的日期解析为可与其他管道一起使用的时刻对象

在您的情况下,您可以执行以下操作:

<span class="date-created"> {{ job.createdAt | amParse:'DD-MM-YYYY' | amTimeAgo }} </span>

这样您就可以直接在视图中解析日期字符串。

于 2017-06-20T14:18:13.440 回答