com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter
的
public Object convertValue(Map<String, Object> context, Object o, Member member, String propertyName, Object value, Class toType) 方法
然后到
com.opensymphony.xwork2.conversion.impl.DateConverter
的 public Object convertValue(Map<String, Object> context, Object target, Member member, String propertyName, Object value, Class toType) 方法
里面的
private DateFormat[] getDateFormats(Locale locale) {
DateFormat dt1 = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG, locale);
DateFormat dt2 = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM, locale);
DateFormat dt3 = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, locale);
DateFormat d1 = DateFormat.getDateInstance(DateFormat.SHORT, locale);
DateFormat d2 = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
DateFormat d3 = DateFormat.getDateInstance(DateFormat.LONG, locale);
DateFormat rfc3399 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
return new DateFormat[]{dt1, dt2, dt3, rfc3399, d1, d2, d3};
}
这个方法,如果是在英文的locale 的情况下
给出的 formatter 数组,里面居然没有一个是这样的: yyyy-MM-dd
只有一个跟中国人习惯稍微接近一点的是:yyyy-MM-dd'T'HH:mm:ss