日期格式更改角度2

时间:2017-06-30 10:59:10

标签: angular date date-formatting

我需要更改我的日期格式,问题是我不能使用moment.js,我只需要将日期从yyyy-mm-dd转换为dd-mm-yyyy。 我使用angular v 2.4.0。

3 个答案:

答案 0 :(得分:22)

使用DatePipe pipe

date_expression | date[:format]

在你的情况下

{{ date_expression | date:'dd-MM-yy' }}

如何在组件中使用管道:

NgModule({
  ....
  providers: [DatePipe]
})

@Component({
   ....
  providers: [DatePipe]
})

在您的组件中,将其设置为date变量

constructor(private datePipe: DatePipe) {
}

ngOnInit() {
    this.date = this.datePipe.transform(new Date(), 'dd-MM-yy');
}

答案 1 :(得分:3)

您可以创建自定义管道。请参阅以下代码。有关详细信息,请参阅DatePipe Documentation

import { Pipe, PipeTransform } from '@angular/core';
import { DatePipe } from '@angular/common';

@Pipe({
    name: 'customDateFormat',
})
export class customDateFormatPipe implements PipeTransform {
    transform(value: string) {
       var datePipe = new DatePipe("en-US");
        value = datePipe.transform(value, 'dd-mm-yyyy');
        return value;
    }
}

在html中添加自定义管道,如下所示:

{{currentDate | customDateFormat }}

答案 2 :(得分:1)

你可以做的是创建一个像这样的函数

function formatDate() {
    let addZeroToLoneFigure = (n) => n.toString().length === 1 ? '0' + n : n.toString();
    let format = 'DD-MM-YYYY';
    let d= new Date();
    format.replace('DD', addZeroToLoneFigure(d.getDate()));
    format.replace('MM', addZeroToLoneFigure(d.getMonth() + 1));
    format.replace('YYYY', addZeroToLoneFigure(d.getFullYear()));
    return format;
}