如何仅从电子邮件日期中提取年份



我正在阅读整个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((,返回四位数的年份无论日期如何。

相关内容

  • 没有找到相关文章

最新更新