Angular 如何自定义date.now格式?

Angular 如何自定义date.now格式?,angular,ionic3,Angular,Ionic3,.ts .html 如何显示时间而不是2019年10月25日我希望这样: 于2019年10月25日签署 有人已经实现了自定义时间格式吗?您可以为日期后缀实现一个自定义管道,并从角度日期管道中获取其余部分 {{ currentDate | date }} HTML 于{{currentDate |日期:'dd'}{{currentDate |日期后缀}}日{{currentDate |日期:'llyyyy'}签署 别忘了将自定义管道添加到模块声明中 您可以为日期后缀实现自定义管道,并从角度d

.ts

.html

如何显示时间而不是2019年10月25日我希望这样:

于2019年10月25日签署


有人已经实现了自定义时间格式吗?

您可以为日期后缀实现一个自定义管道,并从角度
日期
管道中获取其余部分

{{ currentDate | date }}
HTML


于{{currentDate |日期:'dd'}{{currentDate |日期后缀}}日{{currentDate |日期:'llyyyy'}签署

别忘了将自定义管道添加到模块声明中

您可以为日期后缀实现自定义管道,并从角度
date
管道中获取其余部分

{{ currentDate | date }}
HTML


于{{currentDate |日期:'dd'}{{currentDate |日期后缀}}日{{currentDate |日期:'llyyyy'}签署

别忘了将自定义管道添加到模块声明中

带有后缀和语言支持的完整stackblitz for month=工作演示

可以使用此管道:

<div>
    Signed this {{currentDate | date:'dd'}}{{currentDate | dateSuffix}} day of {{currentDate | date:'LLLL yyyy'}}
</div>

带有后缀和语言支持的完整stackblitz月=工作演示

可以使用此管道:

<div>
    Signed this {{currentDate | date:'dd'}}{{currentDate | dateSuffix}} day of {{currentDate | date:'LLLL yyyy'}}
</div>

currentDate | MMMM-->找不到管道“MMMM”,建议仔细阅读文档。这不是传递附加参数的方式,事实上,正如错误告诉您的那样,这是试图将结果字符串从日期管道传递到另一个不存在的管道。我建议使用moment.js library而不是headCurrentDate | MMMM-->无法找到管道“MMMM”,我建议您更仔细地阅读文档。这不是传递附加参数的方式,事实上,正如错误告诉您的那样,这是试图将结果字符串从日期管道传递到另一个不存在的管道。我建议使用moment.js library代替标题。我不知道如何在我的页面上实现这一点,但仍然给我“找不到”没有找到什么?答案在stackblitz上起作用,所以它解决了您的问题,如果您不知道如何在项目中实施它,那么这取决于您。但答案是正确的!:DAdd管道到声明数组?模块“AppModule”声明的意外值“DecoratorFactory”。请添加一个@Pipe/@Directive/@组件注释。我不知道如何在我的页面上实现它,但仍然给我“找不到”什么没有找到?答案适用于stackblitz,因此它解决了您的问题,如果您不知道如何在您的项目中实现它,则由您决定。但答案是正确的!:DAdd管道到声明数组?模块“AppModule”声明的意外值“DecoratorFactory”。请添加@Pipe/@Directive/@Component注释。全天===''带下划线的红色表示此条件将始终返回'false',因为类型'number'和'''''没有重叠。全天===''带下划线的红色表示此条件将始终返回'false',因为类型'number'和''''没有重叠。
import { Pipe, PipeTransform } from "@angular/core";

@Pipe({
  name: "customDatePipe",
  pure: true
})
export class CustomDatePipe implements PipeTransform {
  transform(date: Date): string {
    if (!date) {
      return;
    }

    const day = date.getDate();
    const monthName = new Intl.DateTimeFormat("en-US", { month: "long" })
      .format;
    const longName = monthName(date); // "July"
    const year = date.getFullYear();

    let suffix = "th";

    if (day === 1 || day === 21 || day === 31) {
      suffix = "st";
    }
    if (day === 2 || day === 22) {
      suffix = "nd";
    }
    if (day === 3 || day === 23) {
      suffix = "rd";
    }

       return `Signed this ${day}${suffix} day of ${longName} ${year}`
      }
   }