使用Calendar类增加日期

时间:2013-03-21 22:22:29

标签: java

我必须在20天内添加日期。日正在递增,但因此月份没有递增。如何在同一时间更改日期和月份。

3 个答案:

答案 0 :(得分:1)

可能是这样的:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class So15559346 {
    public static void main(String[] args) {
        Calendar c=new GregorianCalendar();
        SimpleDateFormat df=new SimpleDateFormat();
        df.applyPattern("dd/MM/yyyy");
        System.out.println(df.format(c.getTime()));
        c.add(Calendar.DAY_OF_YEAR,20);
        System.out.println(df.format(c.getTime()));
    }
}

答案 1 :(得分:0)

您可以使用Calendar.add( Calendar.DAY_OF_YEAR, number-of-days )

这样的事情应该做:

SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd" );
Calendar cal = Calendar.getInstance();
cal.setTime( dateFormat.parse( inputDate) );
cal.add( Calendar.DAY_OF_YEAR, 20 );

但我建议您使用joda-time库来处理Java中与日期/日历相关的内容。

答案 2 :(得分:0)

这可以这样做:

    long currentTime = System.currentTimeMillis();
    //If you already have a date object then use the next line
    // currentTime = dateObj.getTime(); 
    long twentyDays = 20*24*60*60*1000;

    Date d = new Date(currentTime + twentyDays); //20+ days from today

    System.out.println(d.toString());