-2

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

4

3 回答 3

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()));
    }
}
于 2013-03-21T22:35:02.863 回答
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 中与日期/日历相关的内容。

于 2013-03-21T22:27:55.697 回答
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());
于 2013-03-21T22:33:37.873 回答