如何使用 Angular 2 将当前日期转换为 YYYY-MM-DD 格式

我用这一行来获取当前日期

public current_date=new Date();

我得到了这样的结果:

Wed Apr 26 2017 10:38:12 GMT+0100 (Afr. centrale Ouest)

我怎样才能将其转换成这种格式

YYYY-MM-DD

文件示例

@Component({
  selector: 'date-pipe',
  template: `<div>
    <p>Today is {{today | date}}</p>
    <p>Or if you prefer, {{today | date:'fullDate'}}</p>
    <p>The time is {{today | date:'jmZ'}}</p>
  </div>`
})
export class DatePipeComponent {
  today: number = Date.now();
}

模板

{{ dateObj | date }}               // output is 'Jun 15, 2015'
{{ dateObj | date:'medium' }}      // output is 'Jun 15, 2015, 9:43:11 PM'
{{ dateObj | date:'shortTime' }}   // output is '9:43 PM'
{{ dateObj | date:'mmss' }}        // output is '43:11'
{{dateObj  | date: 'dd/MM/yyyy'}} // 15/06/2015

用于您的组件。

@Injectable()
import { DatePipe } from '@angular/common';
class MyService {

  constructor(private datePipe: DatePipe) {}

  transformDate(date) {
    this.datePipe.transform(myDate, 'yyyy-MM-dd'); //whatever format you need. 
  }
}

在您的 app.module.ts 中

providers: [DatePipe,...] 

您现在只需使用这项服务。

评论(3)

试试下面的代码,它在 Angular 2 中也能很好地运行

<span>{{current_date | date: 'yyyy-MM-dd'}}</span>
评论(5)

这里有一个非常简洁明了的方法,您也可以根据自己的需要更改该功能:

结果:2017 年 11 月 3 日

//get date now function
    getNowDate() {
    //return string
    var returnDate = "";
    //get datetime now
    var today = new Date();
    //split
    var dd = today.getDate();
    var mm = today.getMonth() + 1; //because January is 0! 
    var yyyy = today.getFullYear();
    //Interpolation date
    if (dd < 10) {
        returnDate += `0${dd}.`;
    } else {
        returnDate += `${dd}.`;
    }

    if (mm < 10) {
        returnDate += `0${mm}.`;
    } else {
        returnDate += `${mm}.`;
    }
    returnDate += yyyy;
    return returnDate;
}
评论(0)