如何在Angular 5应用中使用DatePipe验证日期?

时间:2019-04-22 10:48:15

标签: angular date date-pipe

我有带bsConfig的bsDatepicker,我正在尝试对其进行验证,以确保其格式正确。问题是bsDatepicker创建了其他格式的日期,因此我无法验证它。

日期字符串为:

Mon Apr 01 2019 19:05:36 GMT+1100 (Australian Eastern Daylight Time)

我正在尝试使用DatePipe对其进行转换,例如:

dateStr = this.datepipe.transform(date.toDateString(), 'MM/dd/yyyy');

我得到的是空值。预期的结果将是04/01/2019。 知道为什么日期转换失败了吗? 谢谢。

4 个答案:

答案 0 :(得分:0)

date.toDateString您缺少括号date.toDateString()

答案 1 :(得分:0)

不确定为什么toDateString()到那个时候。您可以像这样解析到日期

this.dateStr = this.datePipe.transform(new Date(date.toDateString()) ,'MM/dd/yyyy');

演示:https://stackblitz.com/edit/angular-datepipe-in-component-test

答案 2 :(得分:0)

可以使用Datepipe将日期以打字稿转换为这种格式'yyyy-MM-dd'

import { DatePipe } from '@angular/common'

constructor(public datepipe: DatePipe){}

myFunction(){
 this.date=new Date();
 let latest_date =this.datepipe.transform(this.date, 'mm-dd-yyyy');
}

,然后在app.module.ts的“ providers”数组中添加Datepipe。像这样:

import { DatePipe } from '@angular/common'

providers: [DatePipe]

答案 3 :(得分:0)

private static datePipeEn: DatePipe = new DatePipe('en-US');

解决了我的问题,希望对有类似问题的人有所帮助!