Так что мой GoogleDocs документ со следующими 2 функции в JavaScript:getMonth оленья кожа признать даты
function test(date) {
return date.getMonth()+1
}
function hours_monthly(target_month, target_year, date_range, hour_range) {
r = 0;
for (i = 0; i < date_range.length ; i++){
if (target_month == date_range[i].getMonth() +1 && date_range[i].getYear() - 2000 == target_year){
r += hour_range[i]
}
}
return r
}
Так что теперь я хочу использовать код. Хотя тестовая функция просто хороша при чтении месяца любой заданной даты, назначая ячейке «= test (C9)». Где C9 - ячейка, на которую назначена дата 6/9/16.
Если используется вторая функция, она говорит, что не может найти функцию getMonth() той же даты C9 и просто выводит ERROR. Больше он говорит высокоточного:
«не может найти функцию getMonth() в Втр сентября 06 2016 00:00:00 +0200 GTM»
DATE_RANGE массив дат, hour_range представляет собой массив целых чисел , Проблема заключается в том, что проблема заключается в использовании массивов.
Та же проблема arrises при выполнении сравнениях:
function test2(date1, date2) {
if (date1 > date2) {
return 1
}
else {
return 2
}
function hours_period(start_date, end_date, date_range, hour_range){
r = 0;
t = 0;
for (i = 0; i < date_range.length; i++){
if ((date_range[i] >= start_date) && (date_range[i] <= end_date)){
t += 1
r += hour_range[i]
}
}
return [t, r]
}
Теперь снова функция test2 работает совершенно нормально, но как только я кормлю массив (DATE_RANGE) она перестает работать, в этом случае оно не выдаст сообщение об ошибке вместо этого он просто выводит [0,0] независимо от того, сколько дат в точности соответствует if-statement
Может ли вы предоставить доступ к файлу образец, в том числе сценария? Сделайте копию своего файла и замените конфиденциальные данные тестовыми данными? –