web-dev-qa-db-fra.com

Conversion d'objet en chaîne dans le script Google Apps

J'essaie de prendre des informations de Google Sheets et de les utiliser pour envoyer un courrier électronique contenant les informations fournies dans des feuilles. J'ai la partie email vers le bas, mais quand j'essaie de editAsText de supprimer les caractères indésirables, cela ne me le permet pas. Voici ce que j'essaie d'accomplir:

var start = row[5];
returns: Fri Feb 20 2015 00:00:00 GMT+0200 (SAST)

et je veux éditer cela pour être:

Fri Feb 20 2015
1
FFDP-FTW

Vous voulez essentiellement formater une date.

J'agirais sur l'objet JavaScript Date, quelque chose comme:

var startDate = new Date(row[5]);
var weekDay;
switch (startDate.getDay()) {
  case 0: weekDay = "Sun"; break;
  case 1: weekDay = "Mon"; break;
  case 2: weekDay = "Tue"; break;
  case 3: weekDay = "Wed"; break;
  case 4: weekDay = "Thu"; break;
  case 5: weekDay = "Fri"; break;
  case 6: weekDay = "Sat"; break;
}
var month;
switch (startDate.getMonth()) {
  case 0: month = "Jan"; break;
  case 1: month = "Feb"; break;
  case 2: month = "Mar"; break;
  case 3: month = "Apr"; break;
  case 4: month = "May"; break;
  case 5: month = "Jun"; break;
  case 6: month = "Jul"; break;
  case 7: month = "Aug"; break;
  case 8: month = "Sep"; break;
  case 9: month = "Oct"; break;
  case 10: month = "Nov"; break;
  case 11: month = "Dec"; break;
}

var formattedDate = weekDay + " " + month + " " + startDate.getDate() + " " + startDate.getFullYear();

La variable formattedDate contient maintenant une chaîne comme Fri Feb 20 2015.

Si vous souhaitez le faire en manipulant des chaînes et que les paramètres de langue de la feuille de calcul ne vous intéressent pas, vous pouvez utiliser

var startDate = row[5] + "";
var formattedDate = startDate.substring(0, 15);
0
Vidar S. Ramdal

Avez-vous essayé la méthode . ToDateString () ? Voyez ce que cela vous donne:

var start = row[5];
var dateStr = start.toDateString();
Logger.log(dateStr)
1
JPV

Peut-être que vous pouvez le formater comme vous le souhaitez en l’utilisant d’abord.

Code

var start = row[5]; // "Fri Feb 20 2015 00:00:00 GMT+0200 (SAST)"    
var newStart = Utilities.formatDate(new Date(start), "SAST", "EEE MMM d yyyy");
Logger.log(newStart);

Capture d'écran

enter image description here

0
Jacob Jan Tuinstra