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

A. *_*uff 13 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;      
}
Run Code Online (Sandbox Code Playgroud)

打字稿识别date.getMonth并且date.getDate很好,但在date.getYear它上面给出了

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

我错过了什么定义?

Dre*_*kes 26

该API已弃用.试试吧getFullYear().

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

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

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


Jer*_*ong 5

将此行更改为

let year = date.getYear() + 1900;
Run Code Online (Sandbox Code Playgroud)

let year = date.getFullYear();
Run Code Online (Sandbox Code Playgroud)