Typescript认为getYear在Date类型上不存在

时间:2016-10-31 20:43:59

标签: date typescript

我在webpack项目中运行tsc,"core-js": "registry:dt/core-js#0.0.0+20160725163759""node": "registry:dt/node#6.0.0+20160909174046"

其他日期属性正常工作:

private dateToString (date: Date) {
    let month = date.getMonth();
    let day = date.getDate();
    let year = date.getYear() + 1900;

    let dateString = `${month}/${day}/${year}`;
    return dateString;      
}

打字稿可以很好地识别date.getMonthdate.getDate,但是date.getYear会给出

Property 'getYear' does not exist on type 'Date'.

我错过了什么定义?

2 个答案:

答案 0 :(得分:21)

该API已弃用。请改为getFullYear()

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear

  

此功能已从Web标准中删除。虽然有些浏览器可能仍然支持它,但它正在被删除。不要在旧项目或新项目中使用它。使用它的页面或Web应用程序可能随时中断。

     

getYear()方法根据本地时间返回指定日期的年份。因为getYear()没有返回完整年份(“2000年问题”),所以它不再使用,并且已被getFullYear()方法替换。

答案 1 :(得分:0)

将此行更改为

let year = date.getYear() + 1900;

let year = date.getFullYear();