Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Строка -> Дата


Автор: SeregaLBN 11.4.2007, 17:06
Есть строка след. вида

Wed, 11 Apr 2007 10:39:49 +0300


Как из неё получить обьект Data ?

PS: Собственно строка получена из заголовка почтового сообщения...

Автор: LSD 11.4.2007, 17:11
http://forum.vingrad.ru/base/Formatirovanie-chisel,-dat-i-teksta-3042.html smile 

Автор: SeregaLBN 11.4.2007, 17:39
Да читал я твою статейку. И теорию знаю, и ранее пользовал SimpleDateFormat

Но вот пробую - не получается
Уже 2 часа втыкаю - вроде всё верно
Код

    public static Date ConvertToDate(String str, String patern) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat(patern);
        return sdf.parse(str);
    }


    public static void main(String[] args) {
        try {
            System.out.println("date = " + ConvertToDate("Wed, 11 Apr 2007 10:39:49 +0300", "EEE, dd MMM yyyy HH:mm:ss Z"));
        } catch (ParseException e1) {
            e1.printStackTrace();
        }
    }



Получаю
Код

java.text.ParseException: Unparseable date

Автор: y3u 11.4.2007, 21:20
чувак, учи матчасть... как, по-твоему, парсер будет определять на каком языке ты ему подсовываешь день и месяц...
добавь локаль: new SimpleDateFormat(patern, Locale.ENGLISH); к примеру

Автор: LSD 11.4.2007, 21:47
Цитата(SeregaLBN @  11.4.2007,  17:39 Найти цитируемый пост)
Да читал я твою статейку. И теорию знаю, и ранее пользовал SimpleDateFormat

Я не знаю как ты ее читал:
Цитата
Получаемые данные так же зависят от того какая локаль применяется для создания форматера, можно или задать DateFormatSymbols или указать локаль и тогда будут использованны умолчальные DateFormatSymbols для этой локали.


Как поступить y3u, уже написал.

Автор: SeregaLBN 12.4.2007, 09:41
Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)