首页 > 解决方案 > 如何将字符串格式从 00/00/0000 更改为 00.00.0000

问题描述

我目前正在 Google App Scripts 中编写自定义函数。现在我在挣扎。我定义了一个参数来从日期单元格中获取输入并更改格式。

例如 9/16/2010 到 09.16.2010,其中给定的列具有前一个日期,而函数输出后者。

输出是一个字符串,但我似乎找不到有关 javascript 的这个特定文本编辑功能的任何信息。

还值得一提的是,给定列中的日期是基于表单输出的,我没有在代码中调用特定的短日期,所以这更像是字符串操作而不是日期格式

任何帮助表示赞赏。

/**
*Generates a Trip Key
*
*@param DateColumn Date 
*@param SchoolColumn School name
*@param LocationColumn Location
*@customfunction
*/
function GENERATEKEY(DateColumn) {

  var Date = DateColumn       

  const dateStr = Date;
  const dateArr = dateStr.split('/');
  dateArr[0] = ('0' + dateArr[0]).slice(-2);
  dateArr[1] = ('0' + dateArr[1]).slice(-2);

  const DateEdited = dateArr.join('.');

  return neWDateStr; //gives 00.00.0000

  //var Key = Date SchoolColumn "@" LocationColumn




}

标签: javascriptgoogle-apps-scriptgoogle-sheetsdatetime-formatcustom-function

解决方案


您可以简单地使用内置TEXT功能:

=TEXT(A2,"mm.dd.yyyy")

您当前的脚本(如先前答案之一中提供的)不起作用的原因是因为参数DateColumn不是 type String。您可以将日期对象转换为特定字符串并相应地对其进行格式化或使用内置Utilities库。

function DOWHATTEXTDOES(dateColumn) {
  return Utilities.formatDate(dateColumn, SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "yyyy.MM.dd")
}

必读:


推荐阅读