Buffle
Buffle

Reputation: 25

Google Apps Script Date in two column

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

Answers (2)

Suyash Gandhi
Suyash Gandhi

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

Joshua Dawson
Joshua Dawson

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

Related Questions