Правильный формат даты для строки - PullRequest
1 голос
/ 30 марта 2012

Я получаю исключение при разборе следующей даты:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
    Date parsedDate=null;
    try {
        parsedDate=sdf.parse("Thu Jan 26 15:05:48 COT 2012");
    } catch (ParseException e) {
        e.printStackTrace();
    }

Является ли шаблон неправильным? Какая будет правильная форма для разбора строки даты? +

Ответы [ 4 ]

4 голосов
/ 30 марта 2012

Конструктор SimpleDateFormat по умолчанию не поддерживает все локали.

Вы должны указать локаль:

SimpleDateFormat sdf = new SimpleDateFormat(
            "EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
Date parsedDate = null;
try {
    parsedDate = sdf.parse("Thu Jan 26 15:05:48 COT 2012");
    System.out.println(parsedDate);
} catch (ParseException e) {
    e.printStackTrace();
}
2 голосов
/ 30 марта 2012

Вы когда-нибудь пробовали один z вместо тройного z?

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");

Должно стать

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
2 голосов
/ 30 марта 2012

Попробуйте использовать только один z:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
0 голосов
/ 30 марта 2012

Возможно, вам нужно использовать CO вместо COT для часового пояса?

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