function calcHoras(time1, time2, time3, time4)
{
var time1;
var time2;
var time3;
var time4;
Logger.log(time1);
var time = time2- time1;
Logger.log(time);
return converteTime(time)
}
function converteTime(time) {
var minutos = parseInt((time/(1000*60))%60)
, horas = parseInt((time/(1000*60*60))%24);
return horas + ":" + minutos;
}
- // -
Мне нужны значения переменных time1, time2, time3 и time4 для создания условных структур (if, while, for), но в скрипте он возвращает только:
[18-11-27 12: 01: 58: 601 PST] undefined
[18-11-27 12: 01: 58: 601 PST] NaN
time1, time2, time3 и time3 являются объектами типа date;
Для ячейки рабочего листа возвращается правильное значение в часах и минутах;
Пример условия, которое мне нужно выполнить:
if (time1! = 0 && time2! = 0) {
var time = time2 - time1;
} else {
var time = time4 - time1;
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Проблема возникает из-за того, что calcHoras присваивает неопределенные значения time1, time2, time3 и time4. Чтобы избежать этого, удалите следующие строки кода
var time1;
var time2;
var time3;
var time4;
Рубен
Я удалил указанные строки, но журнал (содержимое переменной) продолжает возвращать то же самое:
[18-11-28 07: 18: 44: 44 BRST] undefined
[18-11-28 07: 18: 44: 101 BRST] NaN
При создании экземпляра теста как даты объекта значение, возвращаемое в журнале, также:
var test = new Date (time1).getHours();
Logger.log (test);
[18-11-28 07: 41: 54: 629 BRST] NaN
Это настраиваемая функция. Вам нужно использовать его внутри клетки.