как добавить месяцы к дате без календаря? - PullRequest
4 голосов
/ 03 февраля 2011

Сейчас я занимаюсь разработкой проекта gwt, который хочет добавить месяц к указанной дате.gwt не поддерживает класс Calendar, как я могу это сделать?Дата в "dd.MM.yyyy" формате

public Date addMonth(Date d, int months){
}

Моя реализация так долго, что мне нужна помощь.Спасибо

[EDIT]

addMonth () означает просто добавить месяцы к месяцу данной даты.Если это 01.06.2010, добавление 4 месяцев - 01.10.2010

на 31 января и добавление 1 - 28. Фев

Ответы [ 3 ]

12 голосов
/ 03 февраля 2011

вы можете использовать CalendarUtil

import com.google.gwt.user.datepicker.client.CalendarUtil;
...
// Now
Date d = new Date();
// Now + 2 months
CalendarUtil.addMonthsToDate(d, 2);
3 голосов
/ 03 февраля 2011
0 голосов
/ 03 февраля 2011

Как насчет этого? Конечно, вам придется уточнить это в зависимости от количества дней в месяце и прочего, но вы получите основную идею. Я не знаком с gwt, но предположил, что он не поддерживает время joda.

Это довольно грубое решение. Но без использования класса Calendar или joda-time это единственный способ, который я могу себе представить.

        Date date = new Date();
        SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy"); //today is 02.02.2011
        Date baseDate = null;
        try {
            baseDate = df.parse(df.format(date));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long oneMonthTime = baseDate.getTime()+30*24*60*60; //30 should change based on which month you are on
        System.out.println(df.format(oneMonthTime)); //prints 03.02.2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...