在使用Spring MVC 时,前台传入的startTime String类型; 但是我们后台的 qo 的startTime 的类型是Date类型。
而Spring 不会自动给我们转换,就会报错 java.lang.String convert java.util.Date java.lang.IllegalArgumentException。
当然解决办法有很多;
1,麻烦的方法
再声明字串 专门接收这些字段 后台再转换处理。
2.简单的办法
使用DateTimeFormat注解 配合joda-time使用
首次先POM.xml 引入 joda-time
然后在你要po字段上添加此注解。
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
然后就可以了。匹配前台传入的 “2016-7-13 12:23:59“ 字符串。
当然DateTimeFormat 本身也有很多格式
比如支持ISO enum,可以看源码了解更多。
比较喜欢使用pattern,定制性高。
当使用pattern时的一个坑。
hh 是12小时制 HH是24小时制。
附时间格式:
Symbol Meaning Presentation Examples ------ ------- ------------ ------- G era text AD C century of era (>=0) number 20 Y year of era (>=0) year 1996 x weekyear year 1996 w week of weekyear number 27 e day of week number 2 E day of week text Tuesday; Tue y year year 1996 D day of year number 189 M month of year month July; Jul; 07 d day of month number 10 a halfday of day text PM K hour of halfday (0~11) number 0 h clockhour of halfday (1~12) number 12 H hour of day (0~23) number 0 k clockhour of day (1~24) number 24 m minute of hour number 30 s second of minute number 55 S fraction of second millis 978 z time zone text Pacific Standard Time; PST Z time zone offset/id zone -0800; -08:00; America/Los_Angeles ' escape for text delimiter '' single quote literal '
http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html