javascript - 从列中获取日期列表并将其格式化为 MM/dd/yyyy

标签 javascript datetime google-apps-script

我正在尝试编写一个程序,该程序仅适用于日期与当前日期匹配的行。我知道如何以 MM/dd/yyyy 格式设置当前日期的格式,但在循环遍历列表并将日期格式设置为我将用于比较的列表时遇到问题。任何建议都有帮助,谢谢!

function date() {
  var curDate = Utilities.formatDate(new Date(), "GMT+1", "M/dd/yyyy")
  console.log(curDate)

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1'); // get the sheet
  var columnF = sheet.getRange(2, 5, sheet.getLastRow() - 1, 1); // get all the rows

  var fValues = columnF.getValues(); // get the values
  console.log('fvalues are; ', fValues)
  var format = []
  var datecolumn = sheet.getRange(2, 5, sheet.getLastRow() - 1, 1)

  for (var i = 2; i < 4; i++) {
    var datecolumn = sheet.getRange(i, 5).getValue();
    format.push(datecolumn)
  };
  console.log('date array is: ', format)

  var format2 = []
  for (var i = 0; i < fValues.length; i++) {

    var fmtcell = Utilities.formatDate(fValues, "GMT-5", "MM/dd/yyyy")

    format2.push(fmtcell)
  }
}

最佳答案

如果我理解正确的话,您想要将位于 Sheet1E 列中的一组日期与当前日期进行比较,并将这些日期的格式设置为一定的格式。

如果是这种情况,您可以执行以下操作(检查内嵌注释):

function dateCompare() {
  var curDate = Utilities.formatDate(new Date(), "GMT+1", "MM/dd/yyyy");
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  // Retrieve list of dates in column E (formatted as current date):
  var firstRow = 2;
  var column = 5;
  var numRows = sheet.getLastRow() - firstRow + 1;
  var dates = sheet.getRange(firstRow, column, numRows).getValues().map(function(date) {
    return Utilities.formatDate(new Date(date[0]), "GMT+1", "MM/dd/yyyy");
  });
  dates.forEach(function(date, i) { // Iterate through each date in column E
    if (date === curDate) { // Compare each date in column E to current date
      // Do something to the row:
      var row = sheet.getRange(firstRow + i, 1, 1, sheet.getLastColumn());
    }
  });
}

请考虑getValues()返回一个二维数组。您可以将此二维数组转换为一维数组,并同时使用map格式化数组中的日期。 .

引用:

关于javascript - 从列中获取日期列表并将其格式化为 MM/dd/yyyy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60283060/

相关文章:

MySql Null DateTime 和 MS.net 表现不佳

google-apps-script - 当您列出所有 FormResponses 时,提交响应时 FormResponse 的 id 是不同的

javascript - Google 表单文件上传 - 如何使用通过表单提交的图像并将其嵌入电子邮件中

javascript - 包布局的填充和边距

javascript - 我怎样才能给 Ember 数据模型一个 TTL 并在它过期后重新加载它?

javascript 或 jquery : show multiple variables in one alert

javascript - 在表格中追加数组?

javascript - jquery:从类选择器中获取 id

python - 将对象转换为日期时间时出现 pandas 错误

javascript - 如果时间已过,则从选择框中删除代表时间的项目