Wednesday, 15 July 2015

Java Programs Made Easy

Q)... Two dates are given as input in "yyyy-MM-dd" format. Find the number of months between the two dates
input1:"2012-12-01"
input2:"2012-01-03"
output:11



  1. package Set1;
  2. import java.text.ParseException;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6. public class ClassSet9 {
  7.  public static int monthDiff(String s1,String s2) throws ParseException{
  8.   SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  9.   Calendar c=Calendar.getInstance();
  10.   Date d1=sdf.parse(s1);
  11.   Date d2=sdf.parse(s2);
  12.   c.setTime(d1);
  13.   int m1=c.get(Calendar.MONTH);
  14.   int y1=c.get(Calendar.YEAR);
  15.   c.setTime(d2);
  16.   int m2=c.get(Calendar.MONTH);
  17.   int y2=c.get(Calendar.YEAR);
  18.   int n=(y1-y2)*12+(m1-m2);
  19.   return n;
  20.  }
  21.  public static void main(String[] args) throws ParseException {
  22.   String s1=new String("2013-12-01");
  23.   String s2=new String("2012-01-03");
  24.   System.out.println(monthDiff(s1,s2));
  25.  }
  26. }