2

我有 bsDatepicker 和 bsConfig,我正在尝试验证它,以确保它具有正确的格式。问题是 bsDatepicker 以不同的格式创建日期,所以我无法验证它。

日期字符串是:

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

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

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

我得到的是空的。预期结果将是 2019 年 4 月 1 日。知道为什么日期管道无法转换吗?谢谢。

4

4 回答 4

1

不知道为什么toDateString()到那个时候。你可以像这样解析到 Date

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

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

于 2019-04-22T11:12:50.503 回答
1
private static datePipeEn: DatePipe = new DatePipe('en-US');

Solved my problem, I hope it will help someone with similar issue!

于 2019-04-22T12:06:04.543 回答
0

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

于 2019-04-22T10:49:42.380 回答
0

可以使用 Datepipe 将 typescript 中的日期转换为这种格式 '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');
}

and just add Datepipe in 'providers' array of app.module.ts. Like this:

import { DatePipe } from '@angular/common'

providers: [DatePipe]
于 2019-04-22T11:13:13.767 回答