Javascript getMonth不识别日期
因此,我的googledocs文档具有以下两个javascript函数: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
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手动解析它图书馆或图书馆。