我在使用 Google Script 的 webapp 中使用 JDBC 数据。它从数据库中提取数据,然后在 html 中显示。我认为使用 Utilities.formatDate 将 jdbc 结果日期转换为格式化字符串会起作用。
在我的 Code.gs 文件中,我正在使用:
var e_result = SQLstatement.executeQuery("select * from events...");
var resultsArray = [];
while(e_result.next()) {
resultsArray.push({'start_dte': Utilities.formatDate(new Date(e_result.getString('start_dte')), Session.getScriptTimeZone(), "MMM dd")});
// test formatDate
Logger.log("pre format date="+e_result.getString('start_dte'));
Logger.log("post format date="+Utilities.formatDate(new Date(e_result.getString('start_dte')), Session.getScriptTimeZone(), "MMM dd"));
}
这将输出到 Logger:
[15-08-21 04:32:50:580 PDT] pre format date=2015-07-23 00:00:00.0
[15-08-21 04:32:50:581 PDT] post format date=Dec 31
预格式化日期是在数据库中找到的正确日期。但是 formatDate 代码没有给出相同的日期字符串。
我使用了“GMT-08:00”,结果与上面的“发布格式日期”完全相同(认为这是一个时区问题)。我错过了什么??