Как разобрать последующую дату в Java? - PullRequest
1 голос
/ 15 августа 2010

Здравствуйте, мне нужно разобрать эту строку

вс, 15 августа 2010 15:50 CEST

Я использую SimpleDataFormat таким образом

String date = "Sun, 15 Aug 2010 3:50 pm CEST";
DateFormat formatter = new SimpleDateFormat("EEE, dd MMM yyyy h:mm a Z");
Date d = formatter.parse(date);

но выдает исключение.

Можете ли вы помочь мне, пожалуйста?

Спасибо

Ответы [ 4 ]

4 голосов
/ 15 августа 2010

SimpleDateFormat чувствителен к Locale, установленному в данный момент.Так что может быть проблема при попытке проанализировать формат с вашим текущим.С вашим конструктором он использует Locale.getDefault() для определения настройки.

Вы можете попытаться создать DateFormat явно, используя Locale.US через new SimpleDateFormat(pattern, Locale.US) и проверить, существует ли проблема в этом случае.1013 *

1 голос
/ 16 августа 2010

Я решил таким образом

try {
DateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy h:mm a", Locale.US);
Date d = df.parse(date);
bean.setDate(d);

} поймать (исключение е) { Logger.error («Ошибка при разборе данных»); }

Удалите Z из шаблона и используйте Locale.US.

Спасибо

1 голос
/ 15 августа 2010

Этот код:

try {
    String date = "Sun, 15 Aug 2010 3:50 pm CEST";
    DateFormat formatter = new SimpleDateFormat("EEE, dd MMM yyyy h:mm a Z");
    Date d = formatter.parse(date);
    System.out.println(formatter.format(d));
} catch (ParseException e) {
    e.printStackTrace();
}

Отпечатки (без каких-либо исключений):

Sun, 15 Aug 2010 3:50 PM +0200

Итак, я полагаю, что ваша проблема связана с чем-то еще ... Какое исключение вы получаете?

0 голосов
/ 16 августа 2010

Мой код

try {
    DateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy h:mm a Z", Locale.US);
    Date d = df.parse(date);
    bean.setDate(d);
}
catch (Exception e)
{
    Logger.error("Error while parsing data");
}

и исключение

java.text.ParseException: Unparseable date: Mon, 16 Aug 2010 2:20 pm CEST

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...