2016-10-31 4 views
5

I tsc in einem webpack Projekt renne, mit "core-js": "registry:dt/core-js#0.0.0+20160725163759" und "node": "registry:dt/node#6.0.0+20160909174046"Typoskript denkt getYear nicht vom Typ Datum existiert

Andere Datumseigenschaften funktionieren:

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

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

Typoskript erkennt date.getMonth und date.getDate gerade fein , aber auf date.getYear es gibt

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

Welche Definition vermisse ich?

+3

Sie müssen auch den Monat erhöhen, bevor Sie ihn in die Zeichenfolge einfügen, da 'getMonth' die Monate 0-11 und nicht 1-12 zurückgibt. –

+0

Danke für den Fang! Du hast Recht. –

Antwort

12

Diese API ist veraltet. Versuchen Sie stattdessen getFullYear().

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

Diese Funktion von den Web-Standards entfernt wurde. Obwohl einige Browser es immer noch unterstützen, wird es gerade gelöscht. Verwenden Sie es nicht in alten oder neuen Projekten. Seiten oder Web-Apps, die es verwenden, können jederzeit unterbrochen werden.

Die Methode getYear() gibt das Jahr im angegebenen Datum gemäß der Ortszeit zurück. Da getYear() keine vollständigen Jahre zurückgibt ("Jahr-2000-Problem"), wird es nicht mehr verwendet und wurde durch die getFullYear() -Methode ersetzt.

Verwandte Themen