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

时间:2015-08-12 13:06:33

标签: java calendar

有没有办法为java.util.Calendar实例添加实际日期?

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

无重复:我的要求是向Calendar个实例添加实际日期,而且没有其他帖子说明Calendar.DATE / Calendar.DAY_OF_YEAR所做的实际工作。

此致

5 个答案:

答案 0 :(得分:4)

也许添加Calendar.DATE

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

答案 1 :(得分:1)

请参阅add(int field, int amount)类中的java.util.Calendar方法。

示例:

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());

答案 2 :(得分:1)

您可以使用以下代码将实际日期添加到calendar

cal.add(Calendar.DATE, 31);

答案 3 :(得分:1)

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();
      }
    }

答案 4 :(得分:0)

DAY_OF_MONTHDATE的同义词,因此两者都应该这样做。 DAY_OF_YEAR基于当前年份,但DAY_OF_MONTH独立于当月?