gpt4 book ai didi

date - Google Apps 脚本日期格式问题 (Utilities.formatDate)

转载 作者:行者123 更新时间:2023-12-04 06:36:17 25 4
gpt4 key购买 nike

我对 Google Apps Script 还很陌生,所以请耐心等待。

我正在 Google Sheets 上从银行收集每日利率,并且我正在使用以下代码为 A5:F5 中包含的利率附加新行,其中 A 列包含日期。

function recordHistory() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Interest Rates");
var source = sheet.getRange("A5:F5");
var values = source.getValues();
values[0][0] = Utilities.formatDate(new Date(), "GMT+10:00", "yyyy-MM-dd");
sheet.appendRow(values[0]);

};

我的问题是 - 尽管我已将日期格式指定为“yyyy-MM-dd”,但我的新行中 A 列中的日期是以“M/dd/yyyy”格式创建的。

我已经尝试使用 Google 表格中的下拉格式菜单使用“yyyy-MM-dd”预先格式化整个 A 列,但是如果我运行上面的代码,我的新行仍然在“M/dd/yyyy”中。

就好像我的代码完全忽略了 Utilities.formatDate 。仅供引用,我从 here 获得了上述代码.

最佳答案

Utilities.formatDate()实用程序格式化一个 javascript 字符串。但是,当写入电子表格时,新的数据行由 Google 表格解释以确定数据类型和适当的格式,就像您通过用户界面输入一样。

由于您有一个可识别的日期字符串,因此 Google 表格会确定它是一个日期,将其存储为日期,并应用默认日期格式。

您有两个选项可以使电子表格中的日期满足您的格式需求。

  • 强制它被解释为一个字符串,即使它看起来像一个日期。

    cell.setValue(Utilities.formatDate(new Date(), "GMT+10:00", "''yyyy-MM-dd"));
    // ^^ force string literal
  • 设置单元格的日期格式。这会将单元格的值保留为日期,这对计算很有用。

    日期格式遵循 SimpleDateFormat规范。

    // Cell A1 contains a date
    var cell = SpreadsheetApp.getActiveSheet().getRange("A1");
    cell.setNumberFormat('yyyy-mm-dd');
  • 关于date - Google Apps 脚本日期格式问题 (Utilities.formatDate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28956532/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com