0

在阅读SmartGWT DateTimeItem: 接受 12 小时格式时,我发现 usingTimeDisplayFormat提供了显示秒数的选项,例如dateTimeItem.setTimeFormatter(TimeDisplayFormat.TOPADDED24HOURTIME);,但是日期的显示没有变化。

正如代码所述TimeDisplayFormat已弃用,应该DateDisplayFormatter改用,我试过了dateTimeItem.setDateFormatter(DateDisplayFormat.TOSERIALIZEABLEDATE);,但仍然没有改变。

该值通过设置dateTimeItem.setValue(myDate);

知道我必须设置什么(其他)DateTimeItem才能显示秒吗?

我正在使用 SmartGWT 3.1

PS:我也试过dateTimeItem.setDisplayFormat(DateDisplayFormat.TOSERIALIZEABLEDATE);了,还是没有变化

4

2 回答 2

0

It seems DateDisplayFormat.TOSERIALIZEABLEDATE is having some issue in SmartGWT 3.x.

dateTimeItem.setDateFormatter(DateDisplayFormat.TOSERIALIZEABLEDATE); works correctly in SmartGWT 4.0.

dateTimeItem.setDisplayFormat(DateDisplayFormat.TOSERIALIZEABLEDATE); did not provide required behavior even in 4.0, probably due to a default system wide format setting.

You should be able to use a value formatter as a workaround in 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;
    }
});

Check DateItem.setEditorValueFormatter as you might have to set input format, etc. as well.

于 2013-07-21T10:54:32.467 回答
0

您好在您的 dateitem timeSheetDate.setShowPickerTimeItem(true) 中使用以下代码;timeSheetDate.setTimeFormatter(TimeDisplayFormat.TOSHORTTIME); 你也可以使用 timeSheetDate.setTimeFormatter(TimeDisplayFormat.TOTIME);

于 2013-08-01T10:27:35.653 回答