2016-10-31 15 views
5

Tôi đang chạy tsc bên trong một dự án webpack, với "core-js": "registry:dt/core-js#0.0.0+20160725163759""node": "registry:dt/node#6.0.0+20160909174046"nguyên cảo nghĩ getYear không tồn tại trên kiểu Date

tính ngày khác hoạt động tốt:

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

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

nguyên cảo nhận date.getMonthdate.getDate tốt , nhưng trên date.getYear, nó cung cấp cho

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

Tôi định nghĩa gì?

+3

Ngoài ra, bạn cần phải tăng tháng trước khi bao gồm trong chuỗi, vì 'getMonth' trả về các tháng 0-11, không phải 1-12. –

+0

Cảm ơn bạn đã đánh bắt! Bạn nói đúng. –

Trả lời

12

API đó không còn được dùng nữa. Thay vào đó, hãy thử getFullYear().

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

Tính năng này đã bị xóa khỏi các tiêu chuẩn Web. Mặc dù một số trình duyệt vẫn có thể hỗ trợ nó, nó đang trong quá trình bị loại bỏ. Không sử dụng nó trong các dự án cũ hoặc mới. Các trang hoặc ứng dụng web sử dụng nó có thể bị hỏng bất cứ lúc nào.

Phương thức getYear() trả về năm trong ngày được chỉ định theo giờ địa phương. Bởi vì getYear() không trả lại năm đầy đủ ("năm 2000 vấn đề"), nó không còn được sử dụng và đã được thay thế bằng phương thức getFullYear().

Các vấn đề liên quan