首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >谷歌脚本编辑器-找不到方法formatDate(对象,字符串,字符串)

谷歌脚本编辑器-找不到方法formatDate(对象,字符串,字符串)
EN

Stack Overflow用户
提问于 2020-01-04 13:17:09
回答 1查看 392关注 0票数 1

我是Google脚本的新手,我正在尝试创建一个宏,该宏将根据给定的日期自动筛选电子表格。但是,当我试图重新格式化日期时,我总是会得到一个错误。第二行导致错误,“无法找到方法formatDate(对象、字符串、字符串)”。

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

代码语言:javascript
运行
复制
var filterMonthRange = sh.getRange('B2:B'+sh.getLastRow()).getValues();
var filterMonthRange = Utilities.formatDate(filterMonthRange, "GMT", "MMMMM YYYY");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-05 00:02:13

  • 您希望将date对象转换为MMMMM YYYY格式。
  • 您希望使用Google脚本来实现这一点。

如果我的理解是正确的,那么这个答案呢?请把这看作是几个可能的答案之一。

date of Utilities.formatDate(date, timeZone, format)必须是date对象。错误的原因是使用数组而不是日期对象。

模式1:

在这种模式中,从单元格"B2:B“检索的值使用Utilities.formatDate()进行转换。

修改脚本:

请按以下方式修改您的脚本。

发自:

代码语言:javascript
运行
复制
var filterMonthRange = Utilities.formatDate(filterMonthRange, "GMT", "MMMMM YYYY");

至:

代码语言:javascript
运行
复制
var filterMonthRange = filterMonthRange.map(function(e) {return [Utilities.formatDate(e[0], "GMT", "MMMMM YYYY")]});
  • 在这种情况下,filterMonthRange是像[["January 2020"],,,]那样的二维数组。请小心这个。

模式2:

在这种模式中,单元格"B2:B“的格式被修改为MMMMM YYYY

示例脚本:

代码语言:javascript
运行
复制
var filterMonthRange = sh.getRange('B2:B'+sh.getLastRow());
filterMonthRange.setNumberFormat("mmmm\" \"yyyy");
  • 当运行上述脚本时,单元格格式将被修改。

参考文献:

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59591052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档