2015-10-19 67 views
1

我使用彈簧4.2.1發佈春@DateTimeFormat畸形

當我用這句話

@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" 

但奇怪的是,這是OK

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

我用jackson joda 2.6.x – moon

回答

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類型。