2017-06-29 56 views
-1

在我的角度2应用程序中,我需要以特定格式显示下面的日期,但日期过滤器显示不正确。 输入:角度4日期格式问题

let givenDate ="20170328" 

我需要证明这是3月28日,2017年由于输入只是正常的字符串,我怎么能做到这一点?

+0

使用[moment.js](http://momentjs.com/docs/#/parsing/) – trichetriche

回答

1

最好是创建一个新的管道,因为上面给出的日期字符串不是正常的日期字符串格式。

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

@Pipe({ 
    name: 'myDate' 
}) 
export class MyDate implements PipeTransform { 
    public transform(value) { 
     let dateArray = value.split(""); 
     let year = dateArray[0]+dateArray[1]+dateArray[2]+dateArray[3]; 
     let month = dateArray[4]+dateArray[5]; 
     let date= dateArray[6]+dateArray[7]; 
     let dateString = year + '-' + month + '-' + date; 
     return dateString; 
    } 
} 

然后我们得到了返回值作为有效的日期格式。 ,你也可以从这里返回日期日期字符串 如:dateString.toDateString();然后返回日期格式将是Tue Mar 25 2017

否则,你可以简单地返回dateString如上面的代码和HTML把日期管,如:

<div>{{givenDate | myDate | date:'DD/MM/yyyy'}}</div>