2013-09-17 5 views
1

Я вижу строку как ср 27 апреля 00:00:00 GMT-700 1988 и преобразовать его в курсе я сделалудалось преобразование даты в Java

Date dateOfBirth = new Date(bean.getUserProfileBean().getDateOfBirth()); 

Это терпит неудачу, и я не знаю, почему , Любая идея, если она специфична для GAE?

ответ

0

разобрать -700 требуемый формат был Z, ZZ

0

Try:

stirng strDate = bean.getUserProfileBean().getDateOfBirth(); 
Date date = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy", 
    Locale.ENGLISH).parse(strDate); 

См this answer

В качестве альтернативы вы можете попробуйте использовать DateTimeFormatter Joda-Time, хотя вы можете возникли проблемы с 'z' имена часовых поясов whih Общепризнанно:

stirng strDate = bean.getUserProfileBean().getDateOfBirth(); 
DateTimeFormatter dtf = DateTimeFormat.forPattern("EEE MMM d HH:mm:ss z yyyy"); 
dtf.parseDateTime(strDate); 
+0

получает сообщение: Недопустимый формат: "Ср 27 апреля 00:00:00 GMT-700 1988" будет неправильно сформирован в "GMT-700 1988" – Vik

+0

Изменение GMT-700 до GMT-7: 00 – CloudyMarble

+0

Я не могу, поскольку он поступает из хранилища данных gae – Vik

1

Дата Wed Apr 27 00:00:00 GMT-700 1988 не в формате, Java можно разобрать из коробки. В частности, часть часового пояса GMT-700 не может быть проанализирована ни одной библиотекой, о которой я знаю.

Этот формат не относится к стандартным форматам часовых поясов: general timezone, RFC822 or ISO8601.

Для этого вам нужно будет написать собственный синтаксический анализатор.

+0

Это должно быть, вероятно, GMT-7: 00 (Таиланд) – CloudyMarble

Смежные вопросы