Javascript 如何扩展Date类

Javascript 如何扩展Date类,javascript,angular,date,typescript,Javascript,Angular,Date,Typescript,我正在制作angular2应用程序,我从控制器返回的所有日期都是这种格式的“2017-02-2700:00:00”。我想扩展js Date对象,以便在创建新对象时从字符串中删除T,它仍然充当日期对象。我目前试图实现这一目标的方法是行不通的。我创建的扩展日期对象的IDate对象只是显示为null对象,而不是日期对象。任何人都知道发生了什么以及如何修复它。如果不能用typescript完成,我愿意用es6js代替typescript。我看到了关于扩展Date对象的问题,但这会修改Date对象,我希望

我正在制作angular2应用程序,我从控制器返回的所有日期都是这种格式的“2017-02-2700:00:00”。我想扩展js Date对象,以便在创建新对象时从字符串中删除T,它仍然充当日期对象。我目前试图实现这一目标的方法是行不通的。我创建的扩展日期对象的IDate对象只是显示为null对象,而不是日期对象。任何人都知道发生了什么以及如何修复它。如果不能用typescript完成,我愿意用es6js代替typescript。我看到了关于扩展Date对象的问题,但这会修改Date对象,我希望有一个名为IDate的对象,它与Date相同,但还有一些方法。如果这是唯一的办法,我会记下答案

export class IDate extends Date {
    constructor() {
        super();
    }
    value; 
    toDate(value: string): Date {
        value.replace("T", " ");
        return new Date(value); 
    }
    getvalue() {
        return this.value;
    }
}

    let t = new IDate(); 
    let d = new Date();
    console.log(t);
    console.log(d);
控制台

 IDate {}
 Fri Mar 31 2017 11:53:59 GMT-0500 (Central Daylight Time)

如果您的目标是
es6

如果无法将es6作为目标,则需要解决以下问题:

更多信息:


虽然不是所有这些都在谈论延长日期,但问题仍然完全一样。

可能的重复你能省去你自己的头疼,只使用像
momentjs
这样的东西吗?@Pytth,不,我不能:(