Why is the month changed to 50 after I added 10 minutes? Why is the month changed to 50 after I added 10 minutes? java java

Why is the month changed to 50 after I added 10 minutes?


The issue for you is that you are using mm. You should use MM. MM is for month and mm is for minutes. Try with yyyy-MM-dd HH:mm

Other approach:

It can be as simple as this (other option is to use joda-time)

static final long ONE_MINUTE_IN_MILLIS=60000;//millisecsCalendar date = Calendar.getInstance();long t= date.getTimeInMillis();Date afterAddingTenMins=new Date(t + (10 * ONE_MINUTE_IN_MILLIS));


you can use DateUtils class in org.apache.commons.lang3.time package

int addMinuteTime = 5;Date targetTime = new Date(); //nowtargetTime = DateUtils.addMinutes(targetTime, addMinuteTime); //add minute


Convenience method for implementing @Pangea's answer:

/**  Convenience method to add a specified number of minutes to a Date object*  From: http://stackoverflow.com/questions/9043981/how-to-add-minutes-to-my-date*  @param  minutes  The number of minutes to add*  @param  beforeTime  The time that will have minutes added to it*  @return  A date object with the specified number of minutes added to it */private static Date addMinutesToDate(int minutes, Date beforeTime){    final long ONE_MINUTE_IN_MILLIS = 60000;//millisecs    long curTimeInMs = beforeTime.getTime();    Date afterAddingMins = new Date(curTimeInMs + (minutes * ONE_MINUTE_IN_MILLIS));    return afterAddingMins;}