junaidp junaidp - 11 months ago 42
Java Question

How to add minutes to my Date

I have this date object:

SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd HH:mm");
Date d1 = df.parse(interviewList.get(37).getTime());

value of d1 is
Fri Jan 07 17:40:00 PKT 2011

Now I am trying to add 10 minutes to the date above.

Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE, 10);
String newTime = df.format(cal.getTime());

Value of
changes to
2011-50-07 17:50

but it should be
07-01-2011 17:50

It adds minutes correctly but it also changes month, don't know why!

Answer Source

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;//millisecs

Calendar date = Calendar.getInstance();
long t= date.getTimeInMillis();
Date afterAddingTenMins=new Date(t + (10 * ONE_MINUTE_IN_MILLIS));