1

我需要将模式“yyyy-MM-dd”的日期转换为字符串格式“dd.MM.yyyy”。现在我有了这个。方法 getAsText() 在 setAsText 工作的同时不起作用。我做错了什么?

日期编辑器.java

@Component
public class DateEditor extends PropertyEditorSupport {

    @Override
    public void setAsText(String value) {
        try {
            setValue(new SimpleDateFormat("yyyy-MM-dd").parse(value));
        } catch (Exception ex) {
            setValue(null);
        }
    }

     @Override
    public String getAsText() {

        String sdf = "";

        try {
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

            dateFormat.setLenient(true);//-

            Date date = dateFormat.parse((String) getValue());
            sdf = new SimpleDateFormat("dd.MM.yyyy").format(date);

            System.out.println(sdf);
        } catch (ParseException p) {}

        return sdf;
    }

}

初始化绑定器

@InitBinder
    public void initBinder(WebDataBinder dataBinder) {
         dataBinder.registerCustomEditor(Date.class,new DateEditor());
}
4

0 回答 0