在阅读SmartGWT DateTimeItem: accept 12 hour format时,我发现使用TimeDisplayFormat
提供了显示秒数的选项,例如dateTimeItem.setTimeFormatter(TimeDisplayFormat.TOPADDED24HOURTIME);
嗯,但是日期的显示没有变化。
由于代码指出TimeDisplayFormat
已被弃用,而且应该使用DateDisplayFormatter
,我尝试了dateTimeItem.setDateFormatter(DateDisplayFormat.TOSERIALIZEABLEDATE);
,但仍然没有变化。
该值通过dateTimeItem.setValue(myDate);
知道我必须设置DateTimeItem
以便显示秒数吗?
我正在使用SmartGWT 3.1
PS:我也试过了dateTimeItem.setDisplayFormat(DateDisplayFormat.TOSERIALIZEABLEDATE);
,但仍然没有改变
答案 0 :(得分:0)
似乎DateDisplayFormat.TOSERIALIZEABLEDATE
在SmartGWT 3.x中遇到了一些问题。
dateTimeItem.setDateFormatter(DateDisplayFormat.TOSERIALIZEABLEDATE);
在SmartGWT 4.0中正常运行。
dateTimeItem.setDisplayFormat(DateDisplayFormat.TOSERIALIZEABLEDATE);
即使在4.0中也没有提供所需的行为,可能是由于默认的系统范围格式设置。
您应该能够使用值格式化程序作为3.0中的变通方法。
dateTimeItem.setEditorValueFormatter(new FormItemValueFormatter() {
public String formatValue(Object value, Record record, DynamicForm form, FormItem item) {
if (value != null && value instanceof Date) {
return DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss").format((Date) value);
}
return null;
}
});
检查DateItem.setEditorValueFormatter,因为您可能还需要设置输入格式等。
答案 1 :(得分:0)
您可以在dateitem timeSheetDate.setShowPickerTimeItem(true)中使用以下代码; timeSheetDate.setTimeFormatter(TimeDisplayFormat.TOSHORTTIME);你也可以使用timeSheetDate.setTimeFormatter(TimeDisplayFormat.TOTIME);