我将代码从Javascript传递给TypeScript,但我在代码中遇到问题,我在日期中执行操作:
function(d) {
let di = new Date(d);
let df = new Date(d);
df.setMonth(d.getMonth() + 1);
let dl = +new Date(+new Date(df) - +new Date(di)) / (1000 * 60 * 60 * 24);
return (dl * cellSize) - 45;
};
d变量是一个值为2016-08-31的Date对象,问题是dl中的操作:它抛出一个错误:
类型的争论'日期'不能分配给' string'。
类型的参数
我在google和StackOverflow上搜索过,我发现它唯一的事就是在 new 关键字之前添加一个+。还有其他或更好的方法吗?有什么想法吗?
提前致谢。
答案 0 :(得分:2)
di
和df
已经是日期。您试图将它们用作Date
的参数,即new Date(new Date)
。这是a)相当荒谬和b)你的错误来自(new Date
接受一个整数或字符串作为参数,而不是Date
)。
摆脱new Date()
和df
周围的di
。