Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / список даты между 2 датами / 5 сообщений из 5, страница 1 из 1
31.07.2006, 12:56
    #33888898
Michael Ponomarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список даты между 2 датами
есть 2 даты: январь 2004 года и следующий месяц текущей даты (если говорить про сегодня, то август 2006)
надо вывести все месяц + год в этом диапазоне, т.е.
должно получиться следущее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Январь  2004 
Февраль  2004 
Март  2004 
...
Июнь  2006 
Июль  2006 
Август  2006 
для этого использую следующий код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        GregorianCalendar gcBegDate =  new  GregorianCalendar( 2004 ,  0 ,  1 ); // начало периода
        GregorianCalendar gcEndDate =  new  GregorianCalendar(); // конец периода
        // установить на 1 число следующего месяца
        gcEndDate.add(GregorianCalendar.MONTH,  1 );
        gcEndDate.set(GregorianCalendar.DAY_OF_MONTH,  1 );
        // обнулить время
        gcEndDate.set(GregorianCalendar.HOUR,  0 );
        gcEndDate.set(GregorianCalendar.MINUTE,  0 );
        gcEndDate.set(GregorianCalendar.SECOND,  0 );
        gcEndDate.set(GregorianCalendar.MILLISECOND,  0 );
        SimpleDateFormat sdf =  new  SimpleDateFormat("MMMM yyyy");
         while  (gcBegDate.before(gcEndDate)) {
            // здесь что-то с sdf.format(gcBegDate.getTime());
            gcBegDate.add(GregorianCalendar.MONTH,  1 );
        }
есть ли более короткие пути для решения, что-то мне кажется что очень громостко.
...
Рейтинг: 0 / 0
31.07.2006, 13:08
    #33888946
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список даты между 2 датами
это разве громоздко? вот метод в полторы тыщи строк в виде лапшы - это громоздко. а тут все просто и понятно...
имхо разумеется.
...
Рейтинг: 0 / 0
31.07.2006, 13:22
    #33888996
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список даты между 2 датами
а, ну вот ище извращенский способ
Код: plaintext
1.
2.
SELECT to_char(add_months(to_date('01.01.2006', 'DD.MM.YYYY'), LEVEL- 1 ), 'Month YYYY', 'NLS_DATE_LANGUAGE=RUSSIAN')
FROM dual
CONNECT BY LEVEL < = months_between(to_date('01.08.2006', 'DD.MM.YYYY'), to_date('01.01.2006', 'DD.MM.YYYY')) +  1 ;
...
Рейтинг: 0 / 0
31.07.2006, 13:25
    #33889004
Michael Ponomarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список даты между 2 датами
я когда пишу, всегда кажется что сушествуют методы короче и быстрее, которых я просто не знаю, т.е. вместо этих строк надо воспользоваться 2 - з методами и получить то же самое.
например мне не нравится
Код: plaintext
1.
2.
3.
4.
        gcEndDate.set(GregorianCalendar.HOUR,  0 );
        gcEndDate.set(GregorianCalendar.MINUTE,  0 );
        gcEndDate.set(GregorianCalendar.SECOND,  0 );
        gcEndDate.set(GregorianCalendar.MILLISECOND,  0 );
зменить одним методоим или более правильным вызовом конструктора никак нельзя?
...
Рейтинг: 0 / 0
31.07.2006, 13:29
    #33889024
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список даты между 2 датами
имхо
1. лучше использовать Calendar.getInstance()
2. выделить отдельные методы для setDate, удаления времени, преобразования даты по нужной маске.
3. а, чуть не забыл: можно ведь одним календарем обойтись, просто прибавляя по одному месяцу и сравнивая с конечно датой в цыкле. хотя это не принципиально.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / список даты между 2 датами / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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