我有一个DateBox,我想在我的DateBox中显示这种格式:'MM,DD,yyyy'。
我看到了这个文档(https://developers.google.com/apps-script/reference/ui/date-time-format)而我找不到我的格式。
我的代码:
var dateBox_delivered = app.createDateBox().setId('id_dateBox_delivered').setName('v_dateBox_delivered').setFormat(UiApp.DateTimeFormat.??);
答案 0 :(得分:1)
您无法获得除您引用的ENUM list中提供的格式之外的任何其他格式。
语法如下:
var dBox = app.createDateBox().setId("FormDate").setValue(new Date()).setFormat(UiApp.DateTimeFormat.DATE_SHORT);
并且可用模式显示在自动完成中:
切换到HTML服务和JQuery以获得更多可能性。
或者你可以尝试一下接近功能的繁琐的解决方法(虽然远非完美......只是一个建议;)
在新电子表格中进行测试:
function dateBoxFormatTest() {
var ui = SpreadsheetApp.getUi();
var app = UiApp.createApplication();
var textBox = app.createTextBox().setText(Utilities.formatDate(new Date(), Session.getScriptTimeZone(),'MM,dd,yyyy')).setId('textBox').setName('textBox').setVisible(false);
var dateBox = app.createDateBox().setId('dateBox').setName('dateBox').setValue(new Date()).setFormat(UiApp.DateTimeFormat.YEAR_MONTH_NUM_DAY);
var cHandlerDate = app.createClientHandler().forTargets(textBox).setVisible(true).forEventSource().setVisible(false);
var cHandlerText = app.createClientHandler().forTargets(dateBox).setVisible(true).forEventSource().setVisible(false);
var handler = app.createServerHandler('upDate').addCallbackElement(dateBox);
dateBox.addValueChangeHandler(cHandlerDate).addValueChangeHandler(handler);
textBox.addClickHandler(cHandlerText);
app.add(dateBox).add(textBox);
ui.showModalDialog(app,'DateBoxtest')
}
function upDate(e){
var app = UiApp.getActiveApplication();
var formatedDate = Utilities.formatDate(e.parameter.dateBox, Session.getScriptTimeZone(),'MM,dd,yyyy');
app.getElementById('textBox').setText(formatedDate);
return app;
}