如何解决为什么子字符串功能不起作用?
我收到一个正常运行的程序的错误消息,代码如下:
var sheet = SpreadsheetApp.openByUrl('url.com');
var ss = SpreadsheetApp.setActiveSheet(sheet.getSheetByName('Sheet1'));
var date = new Date();
Logger.log(date); //Sat Aug 22 17:28:54 GMT+01:00 2020
var day = date.getDate();
Logger.log(day); //22
for (var i = 2; i < 1400; i++) {
var gamedandt = ss.getRange(i,1).getValue();
Logger.log(gamedandt); //Sat Aug 22 14:00:00 GMT+01:00 2020
/*Line 47*/ var gameday = gamedandt.substring(9,2);
}
}
我收到的错误消息说:
TypeError:gamedandt.substring不是函数(第47行,文件“ myFile”)
我认为问题出在我想要细分的数据上-这是一个日期。 该脚本过去可以很好地运行,但是数据只包含日期和时间(例如“ 22 14:00”),而不是现在的完整日期(包括月,年,周日等)。
解决方法
Date
没有substring
方法。可以使用{p>将Date
转换为字符串
-
Date
instance methods中的一个:.toString()
,.toLocaleString()
,.toLocaleDateString()
-
或使用
直接获取显示的字符串getDisplayValue()
而不是getValue()
-
从
getDate()
到Date
,var gameday = gamedandt.getDate();//22
您可以使用getValue()
/ getValues()
代替getDisplayValue()
/ getDisplayValues()
来获取字符串,而不是(JavaScript数据类型)Date
,{{1} },Boolean
值(当单元格包含类型值(Google表格/电子表格数据类型)Number
,DATE
,TIME
,DATE TIME
,{{1 }},DURATION
等
相关
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。