【问题标题】:InvalidPipeArgument: '18.06.2009' for pipe 'DatePipe'?InvalidPipeArgument:管道“DatePipe”的“18.06.2009”?
【发布时间】:2017-08-29 09:14:46
【问题描述】:

我在 .ts 文件中有这个:

 this.newDate = '18.06.2009';

在我的 html 中我有这个:

  <h5 class="datetime">{{ newDate | date: 'dd MMMM yyyy'}}</h5>

有什么建议吗?我该如何解决这个问题才能得到:

1 June 2009

【问题讨论】:

  • 你的数据不正确,需要像newDate = new Date();
  • 您应该先阅读documentation,然后立即跳到 SO 寻求答案

标签: angular datetime datetime-format angular2-pipe


【解决方案1】:

您设置的日期不正确,就像字符串一样,它应该是 date 实例,并且管道参数应该是 'dd MMM yyyy' 而不是 'dd MMMM yyyy'

newDate = new Date();

{{ newDate | date: 'dd MMM yyyy'}} // MMM instead of MMMM

【讨论】:

    【解决方案2】:

    date pipe 需要一个时间戳(数字)或一个 Date 实例,并且您正在发送一个字符串作为输入。您可以使用以下内容创建日期对象:

    this.newDate = new Date('06.01.2009')
    

    然后它将正常工作。请查看the docs,了解有关如何处理日期的更多信息。

    【讨论】:

    • @user1034912 为什么不呢?您尝试过并且遇到过任何问题吗?
    猜你喜欢
    • 1970-01-01
    • 2021-05-19
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    相关资源
    最近更新 更多