如何在打字稿中格式化日期?

Edu*_*uBw 0 date typescript angular

当我在Angular2(打字稿)中执行新的Date()时,我得到-> DATEE Wed Jul 18 2018 09:13:40 GMT + 0200

问题是我已将Date发送给Java,但是Java不允许这种格式。

Java只允许,dd / mm / aaaa或aaaaa / mm / dd,但他不允许Wed Jul 18 2018 09:13:40 GMT + 0200。

我尝试在Angular中创建新格式,但始终获取String,但是我需要格式化Date,因为我在Java中的类获取Date。

let myDate: Date, myDay, myMonth, myYear;

myDate = new Date();
myDay  = myDate.setUTCFullYear;
console.log(myDay);
myDay  = myDate.toISOString;
console.log(myDay);
console.log(typeof(myDay));
console.log(new Date(myDay));
Run Code Online (Sandbox Code Playgroud)

我无法安装默认情况下没有角度的库,例如:“ moment”。泰

小智 11

您可以使用Angular的DatePipe。在要格式化的组件中:

providers: [DatePipe]
Run Code Online (Sandbox Code Playgroud)

然后注入构造函数

constructor(public datepipe: DatePipe){}
Run Code Online (Sandbox Code Playgroud)

然后在代码中可以像这样格式化

this.datepipe.transform(this.dueDate, 'yyyy/MM/dd')
Run Code Online (Sandbox Code Playgroud)

将格式从“ yyyy / MM / dd”更改为您需要的任何格式

  • @EduBw-您已经说过要“格式化”日期。格式化的日期是一个字符串。如果您想要一个日期,那只是一个日期,它没有格式化。 (2认同)

Suj*_*jay 6

您可以使用

new Date().toLocaleString() => "11/10/2016, 11:49:36 AM"

然后使用 string.slice 获取所需字符串的部分