Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getMonth不识别日期_Javascript_Arrays_Date_Google Sheets - Fatal编程技术网

Javascript getMonth不识别日期

Javascript getMonth不识别日期,javascript,arrays,date,google-sheets,Javascript,Arrays,Date,Google Sheets,因此,我的googledocs文档具有以下两个javascript函数: 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

因此,我的googledocs文档具有以下两个javascript函数:

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
}
功能测试(日期){
返回日期。getMonth()+1
}
每月工作小时数(目标月、目标年、日期范围、小时范围){
r=0;
对于(i=0;i
所以现在我想使用代码。虽然test函数在读取任何给定日期的月份时表现良好,但通过将“=test(C9)”分配给cell。其中,C9是一个单元格,其日期为2016年9月6日

如果使用第二个函数,则表示找不到与C9日期完全相同的getMonth()函数,只输出错误。更确切地说,它说:

“在2016年9月6日星期二00:00:00 GTM+0200中找不到getMonth()函数”

日期范围是日期数组,小时范围是整数数组。 问题可能出在数组的使用上

进行比较时也会出现相同的问题:

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(日期1、日期2){
如果(日期1>日期2){
返回1
}
否则{
返回2
}
功能小时周期(开始日期、结束日期、日期范围、小时范围){
r=0;
t=0;
对于(i=0;i如果((date\u range[i]>=start\u date)&(date\u range[i]将日期作为字符串传递,并且字符串没有getMonth方法

通过在新日期(日期)中包装日期来修复它

功能测试(日期){
//我用新日期(日期)包装您传递的新日期
返回新的日期。getMonth()+1;
}
每月工作小时数(目标月、目标年、日期范围、小时范围){
r=0;
对于(i=0;i控制台日志(测试(“6/9/16”))
您能提供对示例文件(包括脚本)的访问权限吗?复制您的文件并用测试数据替换敏感数据?是的,这解决了问题,尽管正如所说的,测试函数已经工作得很好。请注意,不建议使用日期构造函数解析字符串,您应该使用定制的f手动解析它图书馆或图书馆。