DateBox的格式类似于MM,DD,yyyy

时间:2014-07-03 15:00:22

标签: date google-apps-script

我有一个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.??);

1 个答案:

答案 0 :(得分:1)

您无法获得除您引用的ENUM list中提供的格式之外的任何其他格式。

语法如下:

  var dBox = app.createDateBox().setId("FormDate").setValue(new Date()).setFormat(UiApp.DateTimeFormat.DATE_SHORT);

并且可用模式显示在自动完成中:

enter image description here

切换到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;
}