首页 > 解决方案 > 如何根据变量设置日期?

问题描述

我正在尝试根据变量的内容创建日历事件。

var data = ws.getRange(2, 2, lr-1, 8).getValues();

  for (var i=0;i<data.length;i++) {

  var datax = data[I];

  var dt = datax[7];

  var dtdate = Utilities.formatDate(dt, "GMT+1", "dd/MM/yyyy")

  var etitle = datax[1] + " " + "exclusion";

  var start = new Date(dtdate);
  var end = new Date(dtdate);

  var newevent = calendar.createEvent(etitle, start, end)

...从上面的代码片段中,您可以看到我正在尝试将变量“start”和“end”初始化为变量 dtdate。我基本上想说“在列中的每个日期创建一个事件”

谁能帮忙指出我哪里出错了?

提前致谢。

标签: google-apps-script

解决方案


如果您登录start,它将返回Thu Jan 01 01:00:00 GMT+01:00 1970

问题是您格式化日期的方式。

如果这dt是一个有效的日期对象,定义

var start = new Date(dt); var end = new Date(dt);

将允许您按预期创建事件 - 无需将日期格式化为字符串对象。

另外:Apps 脚本区分大小写,I不一样i


推荐阅读