2014-10-27 205 views
0

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

非常感谢您提前。

最佳,菲尔

回答

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

+0

哇,可以完美运行。非常感谢!!! – user1582830 2014-10-28 10:12:50