我有一個接收具有NSDate的JSON請求的grails服務器。我收到的日期如下格式:NSDate日期字符串轉換爲java.util.date
2012-01-23 4時47分27秒+0000
我需要將其轉換爲Java數據格式能夠存儲。我做了轉換以下:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
Date date = (Date)formatter.parse(request.JSON.StartDate);
格式化的日期出來爲:太陽1月22日20時47分27秒的PST 2012
當我嘗試做一個保存(),我得到以下錯誤:
org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'com.test.date' on field 'StartDate': rejected value [Sun Jan 22 20:47:27 PST 2012]; codes [typeMismatch.com.test.date.eventStartDate,typeMismatch.StartDate,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [com.test.date.StartDate,StartDate]; arguments []; default message [StartDate]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'StartDate'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [java.util.Date] for property 'StartDate': no matching editors or conversion strategy found]
任何人都可以告訴我這有什麼問題,我需要看什麼?
編輯:
其實我得到的錯誤,甚至當我做到以下幾點:
object.date = new Date()
object.save()
這並不是由於格式化! 謝謝!
對不起,我試圖讓後簡單,犯了一個錯誤。我實際上是把格式化程序的結果放入Date中。我編輯了這篇文章。 – iKT