错误TS2339:类型“日期”上不存在属性“ addHours”

时间:2020-06-17 23:00:33

标签: typescript typescript-typings spfx

lib.es5.d.ts文件的第729行具有:

interface Date {
 addHours: (h: any) => any;
    /** Returns a string representation of a date. The format of the string depends on the locale. */

那为什么要这样一行:

const newdatetime =   myDateValue.addHours( -1 );

出现错误TS2339的错误:类型“ Date”上不存在属性“ addHours”? 还有另一种方法可以增加打字稿中的小时数吗? 现在我做了:

 debugger;
  const myDateValue = new Date();
  const newdatetime =   myDateValue.addHours( -1 );
  console.log(newdatetime);

和gulp伺服出现错误: 错误-[tsc] src / webparts / ecgTsxDpcKendo / components / EcgTsxDpcRequestForm.tsx(44,37):错误TS2339:属性“ addHours”在类型“日期”上不存在。 我应该说这是在SPFx工作台中

1 个答案:

答案 0 :(得分:0)

我从没听说过addHours()方法。您应该使用setHours()

这很简单:

const myDateValue = new Date();
myDateValue.setHours(myDateValue.getHours() - 1);
console.log(myDateValue);

例如,在午夜时这也适用。如果当前小时为0,并且您减去1,则Date对象的小时将在前一天变为23(或11PM)。

请注意,setHours()不会返回新的日期对象,而是对其进行修改。