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


Автор: wtbh 3.6.2009, 09:23
Добрый день.
Объясните почему startD.toString() выдаёт на месяц назад
если 
Date.java там написано month   the month between 0-11.
Calendar.java The first month of the year in the Gregorian and Julian calendars is JANUARY which is 0;
то поидее мне + 1 к cal.get(Calendar.MONTH) ненадо прибавлять.

Код

            java.util.Date startD;
            Calendar cal;
            cal = Calendar.getInstance();
            cal.setTime(Calendar.getInstance().getTime());

            String startTime = "09:00:00";
            SimpleDateFormat today = new SimpleDateFormat("dd-MM-yyyy HH:mm:s");
            startD = today.parse(cal.get(Calendar.DAY_OF_MONTH) +"-"+
                    cal.get(Calendar.MONTH)+"-"+
                    cal.get(Calendar.YEAR)+" "+startTime);
            System.out.println(startD.toString());
            System.out.println(Calendar.getInstance().getTime().toString());

Автор: math64 3.6.2009, 09:53
Месяц хранится в виде 0 - январь, ..., 11 - декабрь, но при преобразовании в/из строки месяц записывается как обычно 01 - январь, ..., 12 - декабрь.

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