在web开发中,页面表单传到后台的数据一般都是String类型,如果传回的是一个时间,需要在后台将其转换成Date类型该怎么做?
一般来说,表单的数据比较多,我们会借助第三方工具BeanUtils来完成数据的自动封装,而BeanUtils提供了一个时间转换器,可以将String数据转换成Date类型,然后通过copyPropertiy()完成日期的封装。
// 由于时间是date类型,所以首先注册一个时间转换器 ConvertUtils.register(new DateLocaleConverter(), Date.class); try { BeanUtils.copyProperty(student, "birthday", sfb.getFormBirthday()); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); }
此外,也可以直接使用 java.text.SimpleDateFormat来进行String和Date之间的转换
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy"); String dateInString = "7-Nov-2015"; try { Date date = formatter.parse(dateInString); System.out.println(date); System.out.println(formatter.format(date)); } catch (ParseException e) { e.printStackTrace(); }输出结果是: Mon Nov 07 00:00:00 MYT 2015 07-Nov-2015