如何在没有日历的情况下将月份添加到日期?

时间:2011-02-03 05:48:23

标签: java gwt date

我现在正在开发想要在给定日期添加月份的gwt项目。 gwt不支持Calendar类,所以我该怎么办呢?日期为"dd.MM.yyyy"格式

public Date addMonth(Date d, int months){
}
我的实施很长,我需要帮助。感谢

[编辑]

addMonth()表示只需在给定日期的月份中添加月份。如果01.06.2010添加4个月01.10.2010

1月31日,加1,将28日.2月

3 个答案:

答案 0 :(得分:12)

您可以使用CalendarUtil

import com.google.gwt.user.datepicker.client.CalendarUtil;
...
// Now
Date d = new Date();
// Now + 2 months
CalendarUtil.addMonthsToDate(d, 2);

答案 1 :(得分:3)

答案 2 :(得分:0)

这个怎么样?当然,你必须根据一个月中的天数和东西来改进这个,但你得到了基本的想法。我不熟悉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