Java DATE Парсинг

java parsing

388 просмотра

3 ответа

У меня глупая проблема с java.util.Date.

У меня есть эта строка кода, но я не понимаю, почему эта дата не разрешима с этим форматом.

public class TestTime {
    public static void main(String[] args) {
        final String DATE_FORMAT = "EEE MMM dd HH:mm:ss zzz yyyy";

        String date = "Sat Dec 31 10:00:00 CET 2011";
        SimpleDateFormat dFormat = new SimpleDateFormat(DATE_FORMAT);

        Date lDate = null;
        try {
            lDate = dFormat.parse(date);
        } catch (ParseException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }
}
Автор: migueloop Источник Размещён: 13.11.2019 11:31

Ответы (3)


10 плюса

Решение

Если ваша система использует локаль, отличную от английского, вам нужно использовать этот конструктор:

SimpleDateFormat(DATE_FORMAT,Locale.ENGLISH);

Если это не проблема, вы должны отформатировать дату, используя тот же форматер, и сравнить вывод с вашей входной строкой.

Автор: stacker Размещён: 09.12.2011 04:30

5 плюса

Я не вижу в этом ничего плохого. Он выполняется для меня без ошибок и возвращает:

Sat Dec 31 09:00:00 GMT 2011
Автор: ziesemer Размещён: 09.12.2011 04:27

1 плюс

Кажется, это проблема, связанная с локалью.

Если я установил французскую локаль, шаблон не работает. Если я установил Locale в US в конструкторе SimpleDateFormat, он работает.

SimpleDateFormat dFormat = new SimpleDateFormat (DATE_FORMAT, Locale.US);

Автор: Olivier Croisier Размещён: 09.12.2011 04:31
Вопросы из категории :
32x32