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