在谷歌日历中为Google日历格式化日期和时间

时间:2014-10-27 21:34:44

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

我问的另一个问题(Parse String to get "date", "time" and "other", with Regexp)的一个跟进问题:我现在有dd.mm.yyyy格式的日期和开始时间和结束时间(欧洲24小时)作为变量我的Google脚本。我最终想要做的是在我的谷歌日历中有这些日期的活动。我知道如何创建活动,但我如何设置日期和格式?时间变量使这项工作?我不知道它是否相关,但我住在中欧时区。

非常感谢您提前。

最好,菲尔

1 个答案:

答案 0 :(得分:0)

获得单独的值(小时,分钟和日期)后,使用这些值构建日期对象变得非常容易。

日历事件需要2个完整日期对象,一个用于开始日期/时间,一个用于结束日期/时间。

代码可能以不同的方式编写,下面是一个逐步进行的示例,以帮助您更好地了解发生的情况。

function myFunction() {
  var timeString = 'Event in Cologne 25.10.2014 18:30 - 23:00';// your data looks like this
  var date = timeString.match(/([\d]+\.[\d]+\.[\d]+)/g).toString().split('.');// decompose in an array of dd,mm,yyyy
  var time = timeString.match(/((([0-1]?[0-9])|([2][0-3])):)([0-5][0-9])/g);// this is start and end time
  Logger.log('date='+date+'  time='+time);// check the values in logger
  var start = new Date(date[2],date[1]-1,date[0]);//create date object for start
  start.setHours(time[0].split(':')[0]);//set hours
  start.setMinutes(time[0].split(':')[1]);//set minutes
  var end = new Date(date[2],date[1]-1,date[0]);//same for end
  end.setHours(time[1].split(':')[0]);
  end.setMinutes(time[1].split(':')[1]);
  Logger.log('\nstart = '+start+'\nend = '+end);// check final result
}

记录结果:

enter image description here