【问题标题】:Convert Google Sheet date to its number format before importing to Apps Script在导入到 Apps 脚本之前将 Google 表格日期转换为其数字格式
【发布时间】:2021-01-09 07:43:04
【问题描述】:

我需要一个脚本,如果行的时间戳超过非活动日期(即从今天起 31 天),它将从 Google 工作表中删除行。我找到了一个可以做到这一点的脚本,并对其进行了一些修改以满足我的需要。它没有用。我花了 30 分钟试图找出什么不起作用,最后通过日志意识到,当 Apps 脚本从工作表中提取日期时,它会拉出这个:

2020 年 8 月 24 日星期一 06:33:33 GMT+01:00

而不是 Google 表格的日期数字格式。我需要一种方法将该日期转换为数字格式。这是我正在编写的脚本:

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('RAW - Roll Call');
  var values = sheet.getDataRange().getValues();
  var today = Date.now()/86400000 + 25569;
  var inactivityDate = today-31;
  for (var i = values.length - 1; i >= 0;  i--) {
    if (values[i][0] < inactivityDate) {
      sheet.deleteRow(i+1);
    }
  }
}

【问题讨论】:

  • 你能分享你的工作表吗?
  • 我不知道如何将问题标记为已关闭,但我已经在 Krzysztof 的回答的帮助下解决了这个问题。将其转换为 Javascript 使用的时间戳意味着我可以将该时间戳转换为 Google Sheet 使用的日期系统

标签: javascript google-apps-script google-sheets


【解决方案1】:

如果 Google Sheet 中的 Date 列是 Date 类型,getValues() 方法会将列值作为日期对象返回。

function deleteRows() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('RAW - Roll Call');
  var values = sheet.getDataRange().getValues();
  var today = new Date();
  var today = Date.now()/86400000 + 25569;
  var inactivityDate = today-31;
  for (var i = values.length - 1; i >= 0;  i--) {
    var diffInDays = (today - values[i][0])/(1000*60*60*24);
    if (diffInDays < 31) {
      sheet.deleteRow(i+1);
    }
  }
}

【讨论】:

  • 试过这个脚本,它会删除每一行:/
【解决方案2】:

考虑到Date 构造函数已经支持大多数常见的日期格式,这是一个非常简单的问题。

将您的日期转换为时间戳就像将它作为参数传递给它一样简单。

function dateToTimestamp(date) {
  return new Date(date).getTime();
}

dateToTimestamp("Mon Aug 24 06:33:33 GMT+01:00 2020")

它将返回1598247213000的时间戳

【讨论】:

  • Google Sheet 使用 1900 日期系统,如果您在单元格中输入数字 1 并将其格式更改为日期格式,它将显示 12/31/1899。这就是我所说的转换。将日期转换为 Google 表格使用的整数/数字格式,而不是实际的时间戳哈哈
  • 没关系,我是个白痴哈哈。就像你说的那样,我将日期转换为时间戳,将它们转换为天并添加 25569 以将它们转换为谷歌使用的日期系统。谢谢大佬
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多