Google apps script 在脚本中添加5小时以删除旧日期文件(GAS-googledrive)
我试图在我的脚本中添加5个小时,因为在我查找数据的地方,本地时间比我居住的地方长5个小时。因此,对于要同步的日期,我需要添加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()+
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();