在Smartgwt项目中以正确的格式显示日期

时间:2014-07-24 09:48:53

标签: date smartgwt listgrid

我将使用以下格式22 07 2014 12:04:12从JSON获取日期。 这是我写的代码:

field.setCellFormatter(new CellFormatter() {
    @Override
    public String format(Object arg0, ListGridRecord arg1, int arg2, int arg3) {
        final DateTimeFormat fmt = DateTimeFormat.getFormat("dd MM yyyy hh:mm");
        final Date date = (Date) arg0;

            arg1.setAttribute(name, date);
            return fmt.format(date);
});

其中field是ListGrid中的Date字段。 但是这会在ListGrid中显示一个空白字段。我想不出用以下格式显示它的方法: 22 Jul 2014 00:04

1 个答案:

答案 0 :(得分:1)

根据documentation,服务器必须使用以下格式发送日期:

  

dateField:“2007-04-22”

     

timeField:“11:07:13”

     

dateTimeField:“2007-04-22T11:07:13”

     

dateTimeField:“2007-04-22T11:07:13.582”

您可以使用此代码段实现此目的:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
sdf.format(myDate);

然后,在客户端,您可以使用SmartGWT格式化日期:

myListGridField.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATETIME);