Date format change angular 2

后端 未结 3 736
耶瑟儿~
耶瑟儿~ 2020-12-19 13:31

I need to change my date format, the problem is that I can\'t use moment.js, I need just to transform date from yyyy-mm-dd to dd-mm-yyyy. I use angular v 2.4.0.

相关标签:
3条回答
  • 2020-12-19 13:59

    You can do it creating custom Pipe. Refer below code. For more info refer 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;
        }
    }
    

    Add custom pipe in html as shown below:

    {{currentDate | customDateFormat }}
    
    0 讨论(0)
  • 2020-12-19 14:01

    Use DatePipe pipe

    date_expression | date[:format]
    

    in your case

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

    How to use the pipe inside the component :

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

    or

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

    In you component set it as a date variable

    constructor(private datePipe: DatePipe) {
    }
    
    ngOnInit() {
        this.date = this.datePipe.transform(new Date(), 'dd-MM-yy');
    }
    
    0 讨论(0)
  • 2020-12-19 14:10

    What you can do is create a function like this

    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;
    }
    
    0 讨论(0)
提交回复
热议问题