我使用 SmartGwt,我有以下行:
formItem.getForm().getField("report_date").getValue().toString();
这将返回如下内容:Tue Mar 27 12:00:00 EEST 2012
事情是我需要它格式化为DateDisplayFormat.TOUSSHORTDATE(格式为 MM/DD/YYYY 的短日期)。
对此有何建议?我尝试了几件事,但没有奏效。谢谢。
我使用 SmartGwt,我有以下行:
formItem.getForm().getField("report_date").getValue().toString();
这将返回如下内容:Tue Mar 27 12:00:00 EEST 2012
事情是我需要它格式化为DateDisplayFormat.TOUSSHORTDATE(格式为 MM/DD/YYYY 的短日期)。
对此有何建议?我尝试了几件事,但没有奏效。谢谢。
您可以像这样在客户端格式化 Date 对象:
DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.HOUR24_MINUTE).format(myDate);
PredefinedFormat 枚举包含一些有用的预定义格式。如果这些都不适合您需要,您可以定义自己的。
看看SimpleDateFormat。这可用于解析原始格式以及在第二个格式中输出。
编辑:看来您已经有了一个日期(在调用 toString 之前)。这让事情变得容易一些。您可以将第二种格式创建为new SimpleDateFormat("MM/dd/yyyy")
.
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);