我正在使用spring 4.2.1 RELEASE
当我使用这个表达式时
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss.S")
public void setModifiedTime(DateTime modifiedTime) {
this.mod = modifiedTime;
}
我有这样的例外。
Invalid format: "2015-10-07 12:56:37.0" is malformed at " 12:56:37.0"
但奇怪的是,没关系
public void setModifiedTime(String modifiedTime) {
this.mod = this.modifiedTime = org.joda.time.format.DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.S").parseDateTime(modifiedTime);;
}
为什么会出现此错误?你有什么解决办法? 谢谢你的帮助!
答案 0 :(得分:0)
我还不能评论所以这里有一个问题 - 当你使用DateTimeFormat.ISO枚举中的一个作为ISO属性值时会发生什么? (代码来自头部,可能无法编译)
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
public void setModifiedTime(DateTime modifiedTime) {
this.mod = modifiedTime;
}
请检查您的'模式解决方案'适用于普通Date对象。来自@DateTimeFormat的文档
支持按样式模式,ISO日期时间模式或自定义格式模式字符串进行格式化。可以应用于java.util.Date,java.util.Calendar,java.long.Long,Joda-Time值类型;从Spring 4和JDK 8开始,到JSR-310也是java.time类型。