以下功能 sendMail()
生成的电子邮件显示日期的格式为:----------。Fri May 29 2020 00:00:00 GMT+0400 (Gulf Standard Time)
但我只想把它显示为 Fri May 29 2020
或 May 29 2020
在电子邮件生成时,例如 INVOICE_DATE
这是从一个单元格中选择日期,日期显示为 11/30/2019
function sendMail() {
var CUSTOMER_NAME = 0;
var SALESPERSON = 1;
var INVOICE_DATE = 2;
var PAYMENT_TERMS = 3;
var INVOICE_AMOUNT = 4;
var NOT_YET_DUE_AMOUNT = 5;
var TOTAL_OVER_DUE_AMOUNT = 6;
var TIME_LEFT_OVERDUE_NOTIFICATION = 7;
var DEFULT_DATE = 8;
var NOTIFICATION_DATE = 9;
var CLAIM_DATE = 10;
var EMAIL = 11;
var copyTo = 12;
var attachments = 13;
var emailTemp = HtmlService.createTemplateFromFile("email");
var ws =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Notification
Alert");
var wsSettings =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Settings");
var name = wsSettings.getRange("G2").getValue();
var subject = wsSettings.getRange("G3").getValue();
var data = ws.getRange("A2:O" + ws.getLastRow()).getValues();
data = data.filter(function(r){ return r[14] == true});
data.forEach(function(row){
emailTemp.Cn = row[CUSTOMER_NAME];
emailTemp.Sp = row[SALESPERSON];
emailTemp.Im = row[INVOICE_DATE];
emailTemp.Pt = row[PAYMENT_TERMS];
emailTemp.Ia = row[INVOICE_AMOUNT];
emailTemp.Ntdue = row[NOT_YET_DUE_AMOUNT];
emailTemp.Ovrdue = row[TOTAL_OVER_DUE_AMOUNT];
emailTemp.TleftOvrdueN = row[TIME_LEFT_OVERDUE_NOTIFICATION];
emailTemp.Dd = row[DEFULT_DATE];
emailTemp.Notidate = row[NOTIFICATION_DATE];
emailTemp.Cdate = row[CLAIM_DATE];
var htmlMessage = emailTemp.evaluate().getContent();
GmailApp.sendEmail(row[EMAIL],
subject,
"Your email does not support HTML.",
{name: name, htmlBody: htmlMessage, replyTo: "[email protected]", cc: row[copyTo]}
);
});
}
toDateString 你需要的是Date对象的方法。
var str = "Fri May 29 2020 00:00:00 GMT+0400 (Gulf Standard Time)";
var time = new Date(str);
console.log(time.toDateString()); //"Fri May 29 2020"