如何以角度2获取YYYY-MM-DD格式的日期

问题描述 投票:3回答:4

我希望以下列格式获取日期:YYYY-MM-DD。

我根据这个问题在Angular2中写了一个日期服务:How do I get the current date in JavaScript?

我想检查它是否是正确的实现,或者是否有更好的方法来实现目标。

import { Injectable } from '@angular/core';

@Injectable()
export class DateService {
private currentDate = new Date();

    getCurrentDateInApiFormat(): string{
        let day:any = this.currentDate.getDate();
        let month:any = this.currentDate.getMonth() + 1;
        let year:any = this.currentDate.getFullYear();
        let dateInApiFormat: string;

        if(day<10){
           day = '0' + day.toString();
        }
        if(month<10){
            month = '0' + month.toString();
        }
        dateInApiFormat = day + '-' + month + '-' + year.toString();
        return dateInApiFormat;
    }
}
javascript angular date angular2-services
4个回答
2
投票

要在组件中使用。

@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. 
  }
}

6
投票

你可以简单地使用Date Pipe

 <p>The time is {{currentDate | date:'yyyy-MM-dd'}}</p>

在TS

export class App {

 currentDate: number = Date.now();

}

DEMO


1
投票

可以通过moment.js库实现不同的日期格式。您可以导入/添加它。并使用以下语法将时间戳转换为日期字符串。

moment.tz(this.value,'GMT')。格式('yyyy-MM-dd HH:mm:ss');

这里tz是时区。


1
投票
  // To use date service 

   import { Injectable } from '@angular/core';

   @Injectable()

   export class DateService {

      public currentDate = new Date();

       getCurrentDateInApiFormat() {

          const Date = currentDate;

          const Month = ('0' + (date.getMonth() + 1)).slice(-2);

          const Day = ('0' + date.getDate()).slice(-2);

          return [Date.getFullYear(), Month, Day].join('-');

       }
   }
© www.soinside.com 2019 - 2024. All rights reserved.