谷歌应用程序脚本Utilities.FormatDate故障

时间:2016-02-04 18:51:36

标签: google-apps-script google-sheets

需要使用标准谷歌电子表格格式的日期作为参数获取整数格式ddmmyyyy的日期。

这是代码。

function getDateToInt(date) {
  ddmmyyyy = Utilities.formatDate(date,SpreadsheetApp.getActive().getSpreadsheetLocale(),'dd/MM/yyyy');
  var array = new Array();
  array = (ddmmyyyy.split('/'));
 return (parseInt(array[2])*100+parseInt(array[1]))*100+parseInt(array[0]);
}

问题在于:

除非参数日期中的月份为8或9,否则该函数在所有情况下都按预期运行。在这些情况下返回#NUM!。

欢迎任何贡献。

2 个答案:

答案 0 :(得分:0)

如果您只想使用公式,公式

=value(A1)

其中a1是标准日期,例如1/1/2016,返回" 42370"

日期的数字整数。

答案 1 :(得分:0)

parseInt()使用2个参数,即要解析的变量和基数。 基数经常被省略并假设为10但实际上并不理想。阅读the doc here

我想添加base参数将解决您遇到的问题,但您也可以使用Number()函数,该函数也会将字符串转换为数字。