У меня есть сервер Grails, который получает запрос JSON с NSDate.Дата, которую я получаю, имеет следующий формат:
2012-01-23 04:47:27 + 0000
Мне нужно преобразовать это в формат данных JAVA, чтобы иметь возможность хранить.Для конвертации я делаю следующее:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
Date date = (Date)formatter.parse(request.JSON.StartDate);
Отформатированная дата выглядит так: Вс 22 января 20:47:27 PST 2012
Когда я пытаюсь сделать save (),Я получаю следующую ошибку:
org.springframework.validation.BeanPropertyBindingResult: 1 ошибка
Ошибка поля в объекте 'com.test.date' в поле 'StartDate': отклоненное значение[Вс 22 января 20:47:27 PST 2012];коды [typeMismatch.com.test.date.eventStartDate, typeMismatch.StartDate, typeMismatch.java.util.Date, typeMismatch];Аргументы [org.springframework.context.support.DefaultMessageSourceResolvable: codes [com.test.date.StartDate, StartDate];аргументы [];сообщение по умолчанию [StartDate]];сообщение по умолчанию [Не удалось преобразовать значение свойства типа 'java.lang.String' в требуемый тип 'java.util.Date' для свойства 'StartDate';вложенное исключение - java.lang.IllegalStateException: невозможно преобразовать значение типа [java.lang.String] в требуемый тип [java.util.Date] для свойства 'StartDate': не найдено подходящих редакторов или стратегии преобразования]
Может кто-нибудь сказать мне, что не так с этим и что мне нужно изучить?
РЕДАКТИРОВАТЬ:
Я действительно получаю ошибку, даже когда я делаю следующее:
object.date = new Date()
object.save()
Это не из-за форматирования !!Спасибо !!