首页 > 解决方案 > 谷歌表格宏 - JS

问题描述

我正在尝试获取包含此格式值的单元格的月份(dd/mm/yyyy)

    var date = new Date(scadenziario.getRange(eRow,eCol).getValue());
    var month = date.getMonth();

我不知道为什么,但它不起作用。包含日期的单元格在工作表中显示:20/05/2021 我希望月份变量与单元格的月份匹配,在本例中为 5。

标签: google-apps-script

解决方案


单元格中的日期不是日期对象。您可以验证是否运行ISDATE

在此处输入图像描述

解决问题的一种方法是改用getDisplayValue并对结果字符串的相关部分进行切片:

  const date = scadenziario.getRange(eRow,eCol).getDisplayValue();
  const month = date.slice(3,5).replace("0","");

最后但并非最不重要的一点是,您想要获取5而不是05一种方法是获取05和删除0零件。如果日期是12那么你会得到完整的号码12


推荐阅读