我正在编写一个Google Apps脚本,该脚本应该在某个事件的日期临近时发送警告电子邮件。我在Google电子表格中设置了所有活动,每个活动都有与之关联的开始和结束日期。
我在尝试从电子表格中的单元格中解析日期时遇到了问题。当我在单元格中获取日期的值时,它实际上并没有返回Date对象,因此我无法从从单元格获得的值中直接创建日期。但是,我可以将其转换为字符串,然后将字符串拆分为空格标记以获取年,月和日。现在这就是问题发生的地方;它不会让我在结果变量上执行.parseInt(),我无法弄清楚原因。到目前为止,我用来转换从电子表格中获取的日期的函数代码如下所示:
function convertToDateObject(date)
{
var months =
{
'Jan' : '01',
'Feb' : '02',
'Mar' : '03',
'Apr' : '04',
'May' : '05',
'Jun' : '06',
'Jul' : '07',
'Aug' : '08',
'Sep' : '09',
'Oct' : '10',
'Nov' : '11',
'Dec' : '12'
};
var dateArray = date.toString().split(" ");
var month = dateArray[1].parseInt(); // This is actually in the form of name (e.g. Jan, Feb, etc.), but I know how to change this already
var day = dateArray[2].parseInt();
var year = dateArray[3].parseInt();
}
我到目前为止所有这些,因为当我尝试编译时,我得到一个错误说明:"无法在对象中找到函数parseInt ..."
如果我输入月,日或年,则返回字符串。任何人都可以帮助我吗?
答案 0 :(得分:0)
String
没有任何parseInt
方法。 parseInt
是一个全局函数http://www.w3schools.com/jsref/jsref_parseint.asp
var dateArray = date.toString().split(" ");
var month = parseInt(dateArray[1], 10); // This is actually in the form of name (e.g. Jan, Feb, etc.), but I know how to change this already
var day = parseInt(dateArray[2], 10);
var year = parseInt(dateArray[3], 10);