1

我使用 SmartGwt,我有以下行:

formItem.getForm().getField("report_date").getValue().toString();

这将返回如下内容:Tue Mar 27 12:00:00 EEST 2012

事情是我需要它格式化为DateDisplayFormat.TOUSSHORTDATE(格式为 MM/DD/YYYY 的短日期)。

对此有何建议?我尝试了几件事,但没有奏效。谢谢。

4

3 回答 3

3

您可以像这样在客户端格式化 Date 对象:

DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.HOUR24_MINUTE).format(myDate);

PredefinedFormat 枚举包含一些有用的预定义格式。如果这些都不适合您需要,您可以定义自己的。

于 2012-03-27T12:08:38.923 回答
1

看看SimpleDateFormat。这可用于解析原始格式以及在第二个格式中输出。

编辑:看来您已经有了一个日期(在调用 toString 之前)。这让事情变得容易一些。您可以将第二种格式创建为new SimpleDateFormat("MM/dd/yyyy").

于 2012-03-27T12:01:57.873 回答
1

java中的任何日期格式请参见 http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html

    String sff = "Tue Mar 27 12:00:00 EEST 2012";

    SimpleDateFormat dateFormat = new SimpleDateFormat(
            "EEE MMM dd hh:mm:ss Z yyyy");

    Date myDate = null;
    try {
        myDate = dateFormat.parse(sff);
    } catch (ParseException e) {
        e.printStackTrace();
    }

    SimpleDateFormat timeFormat = new SimpleDateFormat("MM/dd/yyyy");
    String finalDate = timeFormat.format(myDate);
于 2012-03-27T12:05:17.537 回答