Reputation: 25
I want to concatenate 2 cells to create one date in apps script in order to add an Event to calendar.
function AgendaL13 () {
var classeur = SpreadsheetApp.getActive();
var feuille1 = classeur.getSheetByName("TABLEAU DE BORD")
var sheetNom = feuille1.getRange("D4").getDisplayValue(); //Nom client
var titre = feuille1.getRange("E5").getDisplayValue(); // title of event
var cal = CalendarApp.getDefaultCalendar(); // default calendar
var date = feuille1.getRange('H13').getValue(); // date 22/12/2016
var heure = feuille1.getRange('I13').getValue(); // Hour 18:00
var dateNew = date+heure;
cal.createEvent(sheetNom+ " : " +titre, dateNew, dateNew);
}
i want datenew = Thu Dec 22 2016 18:00:00 GMT+0100 (CET)
Is it possible? Sorry for my bad english (I'm french)
Upvotes: 1
Views: 93
Reputation: 936
I was also working on a similar case. This worked for me:
function myFunction()
{
var sheet = SpreadSheetApp.openById("SheetId").getSheetByName("SheetName");
var data = sheet.getDataRange(2,1,sheet.getLastRow(),sheet.getLastColumn()).getValues();
var date = data[rowIndexforDate][columnIndexforDate];
var time = data[rowIndexforTime][columnIndexforTime];
var eventTime = setTimeToDate(date,time);
//after this would be the code for the creation of the event
}
function setTimeToDate(date,time) //this function does the job
{
var t = time.split(":"); //in my case the time is separated by ":"
var dateMod = new Date(date.setHours(t[0],t[1],t[2],0));
return dateMod;
}
Upvotes: 1
Reputation: 629
Try:
date.setHours(heure.getHours());
date.setMinutes(heure.getMinutes()); // if you use minutes
date.setSeconds(heure.getSeconds()); // if you use seconds
This will set date
's time to heure
's time.
Upvotes: 0