получение java.lang.IllegalArgumentException: недопустимый символ шаблона 'o'?при разборе java.text.SimpleDateFormat - PullRequest
4 голосов
/ 14 февраля 2011

Я хотел конвертировать из строки в java.util.Date. для этой же цели я использовал следующий код,

String timeStamp = "Mon Feb 14 18:15:39 IST 2011";
DateFormat formatter = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy");
Date ts = (Date)formatter.parse(timeStamp);

Формат, данный SimpleDateFormat (), является форматом java.util.Date. Когда вы конвертируете дату утилиты в строку, она приходит в следующем формате ('dow mon dd hh: mm: ss zzz yyyy') Но когда я выполняю код, это дает мне исключение. Я не знаю, что именно мне нужно было сделать, чтобы избавиться от этой проблемы. Я публикую часть исключений StackTrace. Если кто-нибудь знает решение,

java.lang.IllegalArgumentException: Нелегальная модель персонажа 'o' в java.text.SimpleDateFormat.compile (SimpleDateFormat.java:769) в java.text.SimpleDateFormat.initialize (SimpleDateFormat.java:576) в java.text.SimpleDateFormat. (SimpleDateFormat.java:501) в java.text.SimpleDateFormat. (SimpleDateFormat.java:476) Заранее спасибо.

Ответы [ 2 ]

13 голосов
/ 14 февраля 2011

Попробуйте вместо этого:

DateFormat formatter = new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy");

E используется для «День недели» в качестве текста, M - название месяца.

3 голосов
/ 14 февраля 2011

Я считаю, что вы неправильно отформатировали, если вы посмотрите здесь http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html это E для дня недели и M для месяца

...