Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

date manipulation

 
Pingili Vishwanath
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I have date like 09/25/2007. I need to advance it by 7 dyas. So, it should be 10/02/2007. But I am getting 09/32/2007.

Here is the code:

import java.util.*;
import java.text.*;

public class month {

public static void main(String[] args) throws Exception {

DateFormat sdf = new SimpleDateFormat("mm/DD/yyyy");

Date date = null;
date = sdf.parse("09/25/2007");

Calendar cal = Calendar.getInstance();
cal.setTime(date);

String strDate = sdf.format(cal.getTime());
System.out.println(strDate);

// add 7 days
cal.add(Calendar.DAY_OF_MONTH, 7);

strDate = sdf.format(cal.getTime());
System.out.println(strDate);
}
}

Can anyone give the solution please?
Thanks.
 
Freddy Wong
Ranch Hand
Posts: 959
Eclipse IDE Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Your SimpleDateFormat pattern is wrong.
m = minute in hour
D = day in year
Check the API for more information.

To get what you want, you need to change it to MM/dd/yyyy.
 
Pingili Vishwanath
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Freddy, Thanks. It worked.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic