角度4问题与日期格式

时间:2017-06-29 11:35:08

标签: angular

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

let givenDate ="20170328"

我需要将其显示为2017年3月28日。由于输入只是普通字符串,我该如何实现?

1 个答案:

答案 0 :(得分: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>