Google应用程序根据用户输入创建日期

时间:2013-04-11 16:19:25

标签: date google-apps-script google-calendar-api

function onFormSubmit(e) {

  var d = e.values[1] + " 10:00:00 UTC";
  var start = new Date(d);

  // oncatenating the string as above fails?   

// ... form then sends an email and adds date to a Google Calendar

我正在使用Google电子表格来存储从该电子表格生成的Google表单中的开始,结束,标题值。我现在想将这些值添加到Google日历中。

问题是,如果我使用连接来构造字符串(因此输入可以接受4/4/2013),当我给自己发送值时,日期会失败,“无效日期”。

也许这很奇怪,但是带有调试的电子邮件也带有前面的'好像它正在逃避价值或其他东西......

var emailBody = "Booking enquiry was made on " + timestamp +

  "\n\nThe details they entered were as follows: " +

  "\nFrom: " + start +  " vs original date input : " +  e.values[1] + 

   // etc

给出: 预订查询于11/04/2013 17:53:06

进行

他们输入的详细信息如下: 发件人:无效日期与原始日期输入:'04 / 03/2013

请参阅? '04 / 03/2013

更新

Serge insas的回复有效,但随后我发现'只有当Google表格托管在我的localhost开发服务器上时才会出现。当页面处于联机状态(包含iFrame)时,不需要子字符串删除技巧,因为没有'被预先添加。

1 个答案:

答案 0 :(得分:1)

'在电子表格单元格中使用'将值保存为字符串。如果删除它,电子表格会将其转换为日期对象。

您可以使用substring()

等字符串运算符轻松删除该'
var withoutQuote = e.values[1].substring(1);