Google apps script 在脚本中添加5小时以删除旧日期文件(GAS-googledrive)

Google apps script 在脚本中添加5小时以删除旧日期文件(GAS-googledrive),google-apps-script,google-drive-api,Google Apps Script,Google Drive Api,我试图在我的脚本中添加5个小时,因为在我查找数据的地方,本地时间比我居住的地方长5个小时。因此,对于要同步的日期,我需要添加 function getOldFileIDs() { var folder = DriveApp.getFolderById('XXXXXXXXXXXXXXXXXXXXXXX'); var files = folder.getFiles(); var today = new Date(new Date().toDateString()).getTime()+

我试图在我的脚本中添加5个小时,因为在我查找数据的地方,本地时间比我居住的地方长5个小时。因此,对于要同步的日期,我需要添加

function getOldFileIDs() {
  var folder = DriveApp.getFolderById('XXXXXXXXXXXXXXXXXXXXXXX');
  var files = folder.getFiles();
  var today = new Date(new Date().toDateString()).getTime()+ 1000*60*60*5;
  var obj = [];
  while (files.hasNext()) {
    var file = files.next();
    var dateFromFilename = file.getName().substr(0, 10);
    if (/\d{4}\/\d{2}\/\d{2}/.test(dateFromFilename)) { // Here, the format of date string is checked.
      var date = new Date(dateFromFilename).getTime();
      if (date < today) {
        obj.push({id: file.getId(), date: file.getDateCreated(), owner: file.getOwner().getEmail()});
      }
    }
  }
  return obj;
};

function deleteFiles() {
  var email = "XXXXXXXXXXXXXXXX@gmail.com"; // Added
  var obj = getOldFileIDs(); // Modified
  obj.forEach(function(e) { // Modified
    if (e.owner == email) { // Added
      Drive.Files.remove(e.id); // Modified
    }
  });
};
´´´

today is this way, but it didn't work, I would like to know what is the failure in the form I'm trying to do
函数getOldFileIDs(){ var folder=DriveApp.getFolderById('xxxxxxxxxxxxxxxxxxxxxxxx'); var files=folder.getFiles(); var today=新日期(new Date().toDateString()).getTime()+1000*60*60*5; var-obj=[]; while(files.hasNext()){ var file=files.next(); var dateFromFilename=file.getName().substr(0,10); 如果(/\d{4}\/\d{2}\/\d{2}/.test(dateFromFilename)){//此处,则检查日期字符串的格式。 var date=新日期(dateFromFilename).getTime(); 如果(日期<今天){ 推送({id:file.getId(),日期:file.getDateCreated(),所有者:file.getOwner().getEmail()}); } } } 返回obj; }; 函数deleteFiles(){ var电子邮件=”XXXXXXXXXXXXXXXX@gmail.com“;//添加 var obj=getOldFileIDs();//已修改 对象forEach(函数(e){//修改 如果(e.owner==电子邮件){//添加 Drive.Files.remove(e.id);//修改 } }); }; ´´´ 今天是这样,但它没有起作用,我想知道我正在尝试的失败形式是什么
  • 您希望将用于比较的时间偏移5小时
  • 从脚本中的
    /\d{4}\/\d{2}\/\d{2}/.test(dateFromFilename)
    可以发现,只比较文件名的年、月和日
如果我的理解是正确的,那么这个答案呢?请把这看作是几个答案中的一个

修改点:
  • 在脚本中,将比较年、月和日。因此,从日期从当前时间移到5小时后,需要使用年、月和日
  • toDateString()
    在时间变为
    00:00:00
    时检索年、月和日
当上述点反映到脚本中时,它将如下所示

修改脚本: 发件人: 致: 参考:
如果我误解了你的问题,而这不是你想要的结果,我道歉

var today = new Date(new Date().toDateString()).getTime()+ 1000*60*60*5;
var shift = new Date().getTime() + 1000*60*60*5
var today = new Date(new Date(shift).toDateString()).getTime();