2016-10-06 7 views
-1

Я проходящий код из JavaScript, чтобы машинопись, но у меня есть проблема в коде, где я сделать работу с датами:Машинописи: Дата операции С Javascript для машинописи

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, проблема заключается в операции в ЭБ: он выдает ошибку:

Argument of type 'Date' is not assignable to parameter of type 'string'.

Я искал на Google и StackOverflow, и единственное, что я нашел, что это было бы добавить + до новое ключевое слово. Есть ли другой или лучший способ? Есть идеи?

Заранее спасибо.

ответ

2

di и df - это уже даты. Вы пытаетесь использовать их в качестве аргумента для Date, то есть new Date(new Date). Это a) довольно бессмысленно и b), где возникает ваша ошибка (new Date принимает целое число или строку в качестве аргумента, а не Date).

Избавьтесь от new Date() вокруг df и di.

+1

Возможно, вы получите еще одну ошибку, пытающуюся обрабатывать объекты 'Date' как' Number'; используйте 'di.getTime()' вместо '+ di' ... – deceze

Смежные вопросы