如何在 Google 表格脚本中使用 SpreadsheetApp.promp() 提示缩写日期
How can I prompt an abbreviate date with SpreadsheetApp.promp() in Google Sheets Scripts
我有一个提示,它还向用户显示一些值,其中之一是日期。问题是:这显示的日期太详细(例如:Tue Mar 30 2021 06:29:23 GMT-0400
(Hora de verão oriental norte-americana))。如何仅根据提示缩写此日期?
您可以使用 2 种方法,toLocaleDateString()
或 toDateString()
来缩短 Apps 脚本中的日期,如下所示:
function myFunction() {
var d = new Date();
var date = d.toLocaleDateString();
var date2 = d.toDateString();
Logger.log(date);
Logger.log(date2);
}
这 2 种方法将为您提供缩短的日期格式,如下所示:
另一种方法是使用 Utilities.formatDate 函数:
function displayPrompt() {
const ss = SpreadsheetApp.getActive();
const formattedDate = Utilities.formatDate(new Date(),ss.getSpreadsheetTimeZone(),"EE MMM dd y");
const ui = SpreadsheetApp.getUi();
const response = ui.prompt('Title', formattedDate, ui.ButtonSet.YES_NO);
}
这会给你这个提示 window:
如果需要完全控制输出,使用Utilities.formatDate
,其中returns一个字符串:
var d = new Date();
var tz = SpreadsheetApp.getActive().getSpreadsheetTimeZone();
var formattedDate = Utilities.formatDate(d, tz, "yyyy-MM-dd");
Logger.log(formattedDate);
SpreadsheetApp.getActive().getSpreadsheetTimeZone()
gives you the time zone for the parent spreadsheet, but you can alternatively hardcode a value from this list(例如,"GMT"
)。
我有一个提示,它还向用户显示一些值,其中之一是日期。问题是:这显示的日期太详细(例如:Tue Mar 30 2021 06:29:23 GMT-0400
(Hora de verão oriental norte-americana))。如何仅根据提示缩写此日期?
您可以使用 2 种方法,toLocaleDateString()
或 toDateString()
来缩短 Apps 脚本中的日期,如下所示:
function myFunction() {
var d = new Date();
var date = d.toLocaleDateString();
var date2 = d.toDateString();
Logger.log(date);
Logger.log(date2);
}
这 2 种方法将为您提供缩短的日期格式,如下所示:
另一种方法是使用 Utilities.formatDate 函数:
function displayPrompt() {
const ss = SpreadsheetApp.getActive();
const formattedDate = Utilities.formatDate(new Date(),ss.getSpreadsheetTimeZone(),"EE MMM dd y");
const ui = SpreadsheetApp.getUi();
const response = ui.prompt('Title', formattedDate, ui.ButtonSet.YES_NO);
}
这会给你这个提示 window:
如果需要完全控制输出,使用Utilities.formatDate
,其中returns一个字符串:
var d = new Date();
var tz = SpreadsheetApp.getActive().getSpreadsheetTimeZone();
var formattedDate = Utilities.formatDate(d, tz, "yyyy-MM-dd");
Logger.log(formattedDate);
SpreadsheetApp.getActive().getSpreadsheetTimeZone()
gives you the time zone for the parent spreadsheet, but you can alternatively hardcode a value from this list(例如,"GMT"
)。