将实际天数(不是一年中的天数)添加到 java.util.Calendar

Add real days (not days in a year) to java.util.Calendar

有没有办法将真实天数添加到 java.util.Calendar 实例?

示例:Calendar 实例,日期设置为 01. Dec. 2015。 现在我想将 31 days 添加到日历中,因此结果日期应该是 01. Jan. 2016DAY_OF_YEAR 似乎不合适,因为它代表一年中的一天,而不是真实的一天。

无重复:我的需求是将真实天数添加到 Calendar 实例并且没有其他 post 可以解释 Calendar.DATE / [=19= 所做的实际工作].

此致

add(int 字段, java.util.Calendar Class.

中的 int amount) 方法

示例:

Calendar calendar = Calendar.getInstance(); //gets a Calendar Instance with the current Date and Time.
System.out.println("Current Date and Time: " + calendar.getTime());
calendar.add(Calendar.DATE, 31);
System.out.println("Date and Time after adding 31 days: " + calendar.getTime());

也许添加 Calendar.DATE

Calendar cal = Calendar.getInstance();
// add 31 days to the calendar
cal.add(Calendar.DATE, 31);

您可以使用以下代码将实际天数添加到 calendar:

cal.add(Calendar.DATE, 31);

java 8 有很多好的功能 http://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html

代码有一些想法:

  import java.time.LocalDate;

    String dt = "2008-01-01";
    int days=31;
    String updateddate=DateIncrementer(dt,days);

    public class DateIncrementer {
      static public String addCustomDay(String date,int noOfDays) {
        return LocalDate.parse(date).plusDays(noOfDays).toString();
      }
    }

DAY_OF_MONTHDATE 的同义词,所以两者应该做同样的事情。 DAY_OF_YEAR是基于当年的,而DAY_OF_MONTH是独立于当月的?