Javascript 需要更改日期格式吗

Javascript 需要更改日期格式吗,javascript,google-apps-script,Javascript,Google Apps Script,我需要更改A列中的日期格式,在该列中我需要获得类似2020年7月21日的内容 但我在邮件正文中看到的是类似于这个日期的内容-周四,2020年7月23日00:00:00 GMT+0530(印度标准时间) 你能帮我在下面的脚本中更改日期格式吗 功能发送电子邮件(e){ var thistsheet=e.source.getActiveSheet(); if(thisSheet.getName()!='ARTWORK'|| e.range.columnStart!==5 | e.range.rowSt

我需要更改A列中的日期格式,在该列中我需要获得类似2020年7月21日的内容 但我在邮件正文中看到的是类似于这个日期的内容-周四,2020年7月23日00:00:00 GMT+0530(印度标准时间)

你能帮我在下面的脚本中更改日期格式吗

功能发送电子邮件(e){
var thistsheet=e.source.getActiveSheet();
if(thisSheet.getName()!='ARTWORK'|| e.range.columnStart!==5 | e.range.rowStart==1 | | e.value!=='NO Materials')返回;
var body,headers=thisSheet.getRange(1,1,1,3).getValues()[0],
thisRow=thisSheet.getRange(e.range.rowStart,1,2,3).getValues()[0],
ref=此行[1]
收件人=”email@email.com",
主题=”⚫ 艺术作品没有图像► " + 裁判,
body=“需要用于社交媒体活动的车辆图像\n\n”,
i=0;
而(i<3){
正文+=标题[i]+'-'+此行[i]+'\n';
i++;
}
sendmail(收件人、主题、正文,{name:“AutoDirect”});
}

在带有日期的单元格上应用
getValues()
将返回JavaScript
Date
对象。这就是您得到的行为。要获得所需格式的日期,您有两个选项,具体取决于您是要获得显示的格式还是应用不同的格式:

使用GetDisplayValue: 该方法返回的值的格式与电子表格中的格式完全相同。如果要检索与显示格式相同的日期,请使用该方法而不是
getValues()

返回显示值的二维数组,先按行索引,然后按列索引。这些值是
字符串
对象。显示的值考虑了日期、时间和货币格式,包括电子表格的区域设置自动应用的格式

使用格式日期: 如果要应用与电子表格上显示的格式不同的格式,可以继续使用
getValues()
,然后根据设置返回日期值的格式。例如:

Utilities.formatDate(new Date(), Session.getScriptTimezone(), "MMMM d yyyy");

到目前为止,您尝试了什么?日期字段的类型是什么?@Christiaan日期字段位于格式为2020年7月21日的列中,但当触发电子邮件时,电子邮件正文中的日期字段类似于此日期-周四至2020年7月23日00:00:00 GMT+0530(印度标准时间)@lamblichus我不是编码员,但根据您的解释,我理解的是,代码必须这样更改?
'thisRow=thisSheet.getRange(e.range.rowStart,1,2,3).getValues()[Utilities.formatDate(new Date(),Session.getScriptTimezone(),“MMMM d yyyy”)]
@MuhammedAadhil否。如果要保持格式,只需将
getValues()
替换为
getDisplayValues()
@MuhammedAadhil不确定要格式化的日期在哪里,但如果将
getValues()
的两个实例替换为
getDisplayValues())
,它应该对你有用。如果是这样,或者你需要更多的指针,请告诉我。@MuhammedAadhil例如,如果日期在
thisRow
上,你应该将其替换为:
thisRow=thisSheet.getRange(e.range.rowStart,1,2,3)。getValues()[0]
,使用此
thisRow=thisSheet.getRange.rowStart,1,2,3).getDisplayValues()[0]
。如果要保留格式,则无需使用第二种方法(
实用程序.formatDate
)。我编写了两个不同的选项,它们不能组合使用。@lamblichus为了更好地理解,我添加了工作表的屏幕截图。您能看一下吗?