【问题标题】:Google sheets script date format [closed]谷歌表格脚本日期格式[关闭]
【发布时间】:2019-07-26 10:09:29
【问题描述】:

我没有编码知识,所以我真的需要帮助。

我有一个预定报告,每天都会发送到我的电子邮件中,其中包含更新,我使用了一个 Google 工作表脚本,该脚本会转到我的电子邮件并将此报告导出到工作表中,但带有日期的列 (B2:B1551) 的格式是这样的方式:19 年 7 月 1 日等,我需要将其转换为 dd/mm/yyyy 格式,而无需手动进行。是否可以创建一个脚本来转换 B 列或读取 B 列并将其转换为 dd/mm/yyyy 格式的新列?

【问题讨论】:

  • 是的——这是可能的。你有没有自己尝试过什么来完成这个?
  • 介意与我们分享您的作品吗?我们乐于提供帮助,但我们不是代码编写服务。
  • 我试过了,但没有用 function recordHistory() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("Sheet1"); var source = sheet.getRange("B2:B1551"); var 值 = source.getValues(); // 单元格 B2 包含一个日期 var cell = SpreadsheetApp.getActiveSheet().getRange("B2"); cell.setNumberFormat('dd-mm-yyyy'); };
  • @GentleSama 它不允许我将代码复制到我的帖子中,但我在这里使用了此代码:stackoverflow.com/questions/48705906/…
  • @Nsaid 下次,请在您的问题中包含脚本。这是您将在帮助部分中看到的关于编写好问题的内容之一。原因是每个阅读您的问题的人也可以查看您的脚本。但是,如果您让我们在您的电子表格中找到您的脚本,那么许多可能能够提供帮助的人将会因额外的时间和精力而被推迟。

标签: javascript function google-apps-script google-sheets


【解决方案1】:

代码:

您当前的代码使用它来将第一个数组对象设置为时间戳:

values[0][0] = new Date();

解决办法:

我们可以使用Utilities.formatDate() 来格式化这个日期,语法如下:

Utilities.formatDate(date, timeZone, format);

所以更新后的新代码看起来像这样:

values[0][0] = Utilities.formatDate(new Date(), "GMT+0", "dd/MM/yyyy");

参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    相关资源
    最近更新 更多