Google脚本编辑器-找不到方法formatDate(object,string,string)

问题描述 投票:0回答:1

我是Google脚本的新手,我正在尝试创建一个宏,该宏将根据给定的日期自动过滤电子表格。但是,当我尝试重新设置日期格式时,我总是收到错误消息。第二行导致错误,“找不到方法formatDate(object,string,string)”

这在我脚本的其他地方都针对单个单元格值起作用,但不适用于此数组。如何将所有日期重新格式化为所需的格式?

var filterMonthRange = sh.getRange('B2:B'+sh.getLastRow()).getValues();
var filterMonthRange = Utilities.formatDate(filterMonthRange, "GMT", "MMMMM YYYY");
google-apps-script
1个回答
0
投票
  • 您想将日期对象转换为MMMMM YYYY的格式。
  • 您想使用Google Apps脚本来实现。

如果我的理解是正确的,那么这个答案怎么样?请认为这只是几个可能的答案之一。

C0]的[date必须是日期对象。错误的原因是使用数组而不是日期对象。

模式1:

在此模式下,从单元格“ B2:B”中检索的值由Utilities.formatDate(date, timeZone, format)转换。

修改的脚本:

请按如下所示修改脚本。

从:
Utilities.formatDate()
至:
var filterMonthRange = Utilities.formatDate(filterMonthRange, "GMT", "MMMMM YYYY");
  • 在这种情况下,var filterMonthRange = filterMonthRange.map(function(e) {return [Utilities.formatDate(e[0], "GMT", "MMMMM YYYY")]}); 是2维数组,类似于filterMonthRange。请注意这一点。

模式2:

在此模式下,将单元格“ B2:B”的格式修改为[["January 2020"],,,]

示例脚本:

MMMMM YYYY
  • 运行上述脚本时,将修改单元格格式。

参考:

如果我误解了你的问题,而这不是你想要的方向,我深表歉意。

© www.soinside.com 2019 - 2024. All rights reserved.