如何转换并传递GAS中的日期以在Google日历中创建活动?

时间:2014-11-26 09:49:33

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

这是我们在GAS中创建活动的方式: https://developers.google.com/apps-script/reference/calendar/calendar#createEvent(String,Date,Date,Object)

var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing',
     new Date('July 20, 1969 20:00:00 UTC'),
     new Date('July 20, 1969 21:00:00 UTC'),
     {location: 'The Moon'});
 Logger.log('Event ID: ' + event.getId());

此处输入日期的格式为(E,dd MMM yyyy HH:mm:ss Z)..

我将输出作为单独的日期和时间

var bookTime, bookDate; // bookDate = 2014-11-26 and bookTime = 09    
var startDateTime  = bookDate + " " + bookTime+ ":00:00"; //startDateTime = 2014-11-26 09:00:00

我如何利用这段时间来创建和活动

任何潜在顾客?

1 个答案:

答案 0 :(得分:0)

由于您的起始值似乎是字符串,因此最简单的方法是使用字符串方法解析值并使用正确的参数创建新的日期对象。以下是包含您提供的数据的示例代码:

function testDate(){
  var date = convertToDate("2014-11-26", "09");
  Logger.log(date);
}

function convertToDate(dateString,timeString){
  var dateData = dateString.split("-");
  var hour = Number(timeString);
  var date = new Date(new Date().setFullYear(dateData[0],dateData[1]-1,dateData[2])).setHours(hour,0,0,0);
  return new Date(date);
}

日期对象可直接用于日历事件创建方法。