我正在阅读整个Gmail电子邮件(收件箱/已发送/垃圾…(,并尝试根据日期在谷歌驱动器中创建文件夹。
所以文件夹应该分类为(…,201920202021(。每个文件夹都包含我Gmail中今年的所有电子邮件。
我设法创建了文件夹,使用Threads获取消息,所有这些都很好,但我无法只提取消息的年份。
当我使用Threads[0].getMessages()[0].getDate()
时,返回的是该消息的日期和时间我无法仅从中提取年份。
- 我试着分开日期,但这不是字符串
- 我试着制作类似
Threads[0].getMessages()[0].getDate().getYear()
的smth,它返回了120 - 我试着看看我是否可以将其作为数组访问,[index],它返回null
- 我试图将它解析为Date((,但我也无法使用它
是否有任何东西允许我从这种格式中只提取年份。
这是脚本的一部分,我正试图获取我正在使用的日期。
function GetAttachmentsWithTime() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.setActiveSheet(sheet.getSheetByName('Sheet1'));
var start = 0;
var end = 10;
var filter = "has:attachment";
var threads = GmailApp.search(filter,start,end);
Logger.log(threads[0].getMessages()[0].getDate())
}
您使用的是V8运行时吗?
如果是,请参阅本迁移指南。上面写着:
在V8运行时中,Date.protype.getYear((返回年份减去1900,而不是ECMAScript标准所要求的。
因此,2020年的电子邮件将返回120(即2020-1900=120(。
要解决此问题,请使用.getFullYear()
:
将脚本迁移到V8时,请始终使用Date.protype.getFullYear((,返回四位数的年份无论日期如何。