Google脚本将文本参数转换为可接受的日期对象

时间:2019-03-03 04:50:52

标签: google-apps-script

我已经搜索了SO和互连网,并发现了在Google Apps脚本中处理日期的恐怖。我发现有关date()和formatDate()的答案相互矛盾,还没有找到明确的工作指南,该指南显示了获取任意文本并创建日期对象的确切步骤

我有一个简单的ui.Prompt(),它要求以人性化的方式显示日期,例如“ MM-DD-YYYY”。我想对它进行日期数学运算,所以...

  // result from ui.Prompt(), ie "03/01/2019" march 1st
  var mytextdate = result.getResponseText(); 
  //I want to do date math, so need a date object ...
  var year_num = +mytextdate.substring(6,10);
  var month_num = +mytextdate.substring(0,2);
  var day_num = +mytextdate.substring(3,5);
  var date_mytextdate = new date(year_num, month_num -1, day_num);

在我什至无法进行日期数学运算之前,脚本此时会失败并显示“日期未定义”。但是,我可以毫无问题地检索year_nummonth_numday_num的值。要使“ date()”有效,我还需要什么?

2 个答案:

答案 0 :(得分:0)

最后一行:

var date_mytextdate = Utilities.formatDate(new date(year_num, month_num -1, day_num),Session.getScriptTimeZone(),"MM-dd-yyyy");

答案 1 :(得分:0)

感谢田池! Datedate之间是有区别的。新秀错误。