Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / ParsePosition для SimpleDateFormat.parse / 2 сообщений из 2, страница 1 из 1
04.04.2005, 13:09
    #32996195
risfek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ParsePosition для SimpleDateFormat.parse
Привет.
есть необходимость делать из строки дату
проблема в том, что когда пишешь неверную дату например “31.13.2005”
ошибка не генерится. Вместо этого создается дата "01.01.2006"
Чего бы не хотелось.
Я так понял пользовать нужно ParsePosition
Но попытки сделать это так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    java.text.SimpleDateFormat  ddMMyyyy =  new  java.text.SimpleDateFormat("dd.MM.yyyy");
    String date = "01.13.2005";
    java.util.Date d= null ;
    System.out.print("\n --------------------"+date+"-----------------------");
        try {
             ParsePosition pos =  new  ParsePosition( 0 );
            d = ddMMyyyy.parse(date, pos);
           out.print("\n result = '"+ddMMyyyy.format(d)+"'");
       }
        catch ( Exception e )
       {
           System.out.print("\n result = 'NULL'");
       }
Ничего не дали
При ParsePosition(0) и ParsePosition(1) ошибки не было, а при ParsePosition(2) всегда
Чего я нагнал?
...
Рейтинг: 0 / 0
06.04.2005, 19:33
    #33001436
chack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ParsePosition для SimpleDateFormat.parse
Прочитай help по ParsePosition
Аргумент в конструкторе - символ начиная с которого будет парстся строка
31.13.2005 и 1.13.2005 - парсятся,
.13.2005 - нет

А с датами типа 31.13.2005 - Java работает без exception
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / ParsePosition для SimpleDateFormat.parse / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]