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


Автор: ZeusX 28.2.2008, 07:48
Здравствуйте друзья,

Подскажите пожалуйста как узнать количество дней в месяце?

Пример: кол-во дней в феврале 2008 года

Автор: VSergeyV 28.2.2008, 08:26
может тут что есть - http://forum.vingrad.ru/faq/topic-64255.html

т.е. так
Код

import java.util.Calendar;
...
    Calendar calendar;
    calendar=Calendar.getInstance();
    calendar.clear();
    calendar.set(Calendar.YEAR, 2008);
    calendar.set(Calendar.MONTH, Calendar.FEBRUARY);
    int cnt=calendar.getActualMaximum(Calendar.DAY_OF_MONTH); // тут количество

Автор: ZeusX 29.2.2008, 06:37
воть такой код:

Код

            Calendar calendar = GregorianCalendar.getInstance();
            calendar.clear();
            calendar.set(Calendar.YEAR, 2008);
            calendar.set(Calendar.MONTH, Calendar.MARCH );
            int maxDays = calendar.getActualMaximum( Calendar.DAY_OF_MONTH );
            out.println(maxDays);


выдает воть энто: 02, что не есть правда

Автор: VSergeyV 29.2.2008, 06:51
Цитата(ZeusX @  29.2.2008,  06:37 Найти цитируемый пост)
выдает воть энто: 02, что не есть правда

у меня 31
Код

       Calendar calendar = GregorianCalendar.getInstance();
       calendar.clear();
       calendar.set(Calendar.YEAR, 2008);
       calendar.set(Calendar.MONTH, Calendar.MARCH);
       int maxDays = calendar.getActualMaximum( Calendar.DAY_OF_MONTH);
       System.out.println(maxDays);


Автор: ZeusX 29.2.2008, 08:30
VSergeyV, 

воть попробуй...
результат : не правильный

Код

      Sun Mar 02 00:00:00 PKT 2008 
      03/02/2008


Код

            Calendar calendar = GregorianCalendar.getInstance();
            calendar.clear();
            calendar.set( Calendar.YEAR, 2008 );
            calendar.set( Calendar.MONTH, 02 );
            int maxDays = calendar.getActualMaximum( Calendar.DAY_OF_MONTH );
            String strDate = "02/"+maxDays+"/2008"; 
            Date dt = new SimpleDateFormat("MM/dd/yyyy").parse(strDate);
            String str = new SimpleDateFormat("MM/dd/yyyy").format(dt);
            out.println(dt);
            out.println(str);

Автор: dorogoyIV 29.2.2008, 12:12
Код

calendar.set( Calendar.MONTH, 02 );
здесь ты ставишь март

а здесь 
Код
String strDate = "02/"+maxDays+"/2008";
 февраль

исправь 
Код
  String strDate="3/"+maxDays+"/2008";

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