我正在尝试根据给定的日期范围计算一周的开始日期和结束日期。
下面的代码给我这个错误 [ts] 属性 'getWeek' 在类型 'Date' 上不存在。
Date.prototype.getWeek = function(start)
{
start = start || 0;
var today = new Date(this.setHours(0, 0, 0, 0));
var day = today.getDay() - start;
var date = today.getDate() - day;
var StartDate = new Date(today.setDate(date));
var EndDate = new Date(today.setDate(date + 6));
return [StartDate, EndDate];
}
var Dates = new Date().getWeek();
您需要使用接口(interface)合并在Date
接口(interface)上声明该方法
declare global {
interface Date {
getWeek (start?: number) : [Date, Date]
}
}
Date.prototype.getWeek = function(start)
{
start = start || 0;
var today = new Date(this.setHours(0, 0, 0, 0));
var day = today.getDay() - start;
var date = today.getDate() - day;
var StartDate = new Date(today.setDate(date));
var EndDate = new Date(today.setDate(date + 6));
return [StartDate, EndDate];
}
var Dates = new Date().getWeek();
或者如果你没有使用模块:
interface Date {
getWeek (start?: number) : [Date, Date]
}