电子邮件正文中的日期格式

时间:2013-09-09 11:23:06

标签: google-apps-script date-format email-integration

我正在使用一个非常基本的自动电子邮件脚本。我要发出的消息只是一个日期。在电子表格中,格式为“06/11/2013”​​,但收到电子邮件后,它会在电子邮件正文中显示为“Wed Nov 06 2013 00:00:00 GMT-0000(GMT)”。

我希望它在电子邮件正文中显示格式,只是电子表格中的日期。有没有办法做到这一点?这是我正在使用的(非常基本的)脚本:

function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;  // First row of data to process
  var numRows = 2;   // Number of rows to process

  var dataRange = sheet.getRange(startRow, 1, numRows, 2)
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    var emailAddress = row[0];  // First column
    var message = row[1];       // Second column
    var subject = "Date";
    MailApp.sendEmail(emailAddress, subject, message);
  }
}

不是一个非常高级的用户,但任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

数据以Date的形式存储在电子表格中,因此会在最终内容中显示为Date。使用Utilities.formatDate将其转换为字符串

function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;  // First row of data to process
  var numRows = 2;   // Number of rows to process

  var dataRange = sheet.getRange(startRow, 1, numRows, 2)
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    var emailAddress = row[0];  // First column
    var message = Utilities.formatDate(row[1], "GMT" , "dd/MM/yyyy" );       // Second column
    var subject = "Date";
    MailApp.sendEmail(emailAddress, subject, message);
  }
}