Sei sulla pagina 1di 3

package com.xmlcreator.

utils;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;

public class DateUtil {

public static int getDifferenceInDays(String date){


String effdate=date;
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String today =sdf.format(cal.getTime());
int days=-1;

if(date.equalsIgnoreCase(today)){
days=0;
return days;

}
try
{
Date expiryDate = df.parse(effdate);
Date todayDate=df.parse(today);
Calendar exp = java.util.GregorianCalendar.getInstance();
Calendar tod =java.util.GregorianCalendar.getInstance();
exp.setTime(expiryDate);
tod.setTime(todayDate);
System.out.println("comparison::"+exp.compareTo(tod));
System.out.println("comparison::"+tod.compareTo(exp));
if(exp.compareTo(tod)==-1){
days=DateUtil.getDaysBetween(exp, tod);
}
else
{
days=-1; // as expiry day has already passed
}

return days;

}
catch (ParseException e)
{
e.printStackTrace();
}
return days;
}

/**
* Calculates the number of days between two calendar days in a manner
* which is independent of the Calendar type used.
*
* @param d1 The first date.
* @param d2 The second date.
*
* @return The number of days between the two dates. Zero is
* returned if the dates are the same, one if the dates are
* adjacent, etc. The order of the dates
* does not matter, the value returned is always >= 0.
* If Calendar types of d1 and d2
* are different, the result may not be accurate.
*/
static int getDaysBetween (java.util.Calendar d1, java.util.Calendar d2) {
if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end
java.util.Calendar swap = d1;
d1 = d2;
d2 = swap;
}
int days = d2.get(java.util.Calendar.DAY_OF_YEAR) -
d1.get(java.util.Calendar.DAY_OF_YEAR);
int y2 = d2.get(java.util.Calendar.YEAR);
if (d1.get(java.util.Calendar.YEAR) != y2) {
d1 = (java.util.Calendar) d1.clone();
do {
days += d1.getActualMaximum(java.util.Calendar.DAY_OF_YEAR);
d1.add(java.util.Calendar.YEAR, 1);
} while (d1.get(java.util.Calendar.YEAR) != y2);
}
return days;
}
public static int getAge(String dateOfBirth){

DateFormat df= new SimpleDateFormat("yyyy-mm-dd");


Date dateOfBirth1;
try {
dateOfBirth1 = df.parse(dateOfBirth);
Calendar dob = Calendar.getInstance();
dob.setTime(dateOfBirth1);
Calendar today = Calendar.getInstance();
int age = today.get(Calendar.YEAR) - dob.get(Calendar.YEAR);
if (today.get(Calendar.DAY_OF_YEAR) <=
dob.get(Calendar.DAY_OF_YEAR))
age--;
return age;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;

Potrebbero piacerti anche