2013-08-22 3 views
0

J'ai un Date. Maintenant, je veux calculer que l'âge de ce sera 2-12 ans si la condition est vraie sinon l'âge devrait être entre 0-2 ans. Alors, comment pourrions-nous calculer si l'âge se situe entre 2-12 ou 0-2 à partir d'une date donnée.Plage de dates en Java

J'ai fait quelque chose mais je suis confus comment pourrais-je procéder.

public class Test { 
    public static void main(String args[]) throws ParseException { 
    String string = "29/07/13"; 
    Date oneWayTripDate = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(string); 
    String myFormat = "dd/MM/yy"; //In which you need put here 
    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);  
    } 
} 

Alors condition sera quelque chose comme ça

for child age should be between 2-12 (So from Current Date will calulate to 12 yrs .if the date given lies between 2-12yrs then it is true otherwise false) 
for infant age should be between 0-12 (So from Current Date will calulate to 2 yrs .if the date given lies between 0-2yrs then it is true otherwise false) 

Répondre

4

Si vous voulez trouver l'âge que vous avez besoin de deux valeurs de date. Vous pouvez essayer quelque chose comme ça

DateFormat df=new SimpleDateFormat("dd/MM/yy"); 
    Date birthDay=df.parse("29/07/13"); 
    Date currentDay=new Date(); 
    Calendar cal1=Calendar.getInstance(); 
    Calendar cal2=Calendar.getInstance(); 
    cal1.setTime(birthDay); 
    cal2.setTime(currentDay); 
    int years=cal2.get(Calendar.YEAR)-cal1.get(Calendar.YEAR); 
    if(3>years){ 
     System.out.println("Infant"); 
    }else if(years<13){ 
     System.out.println("Child"); 
    } else{ 
     System.out.println("adult"); 
    } 
3

Vous pouvez utiliser Joda temps Period (Docs)

Date tripDate; 
Date dob; 
Period period = new Period(dob, tripDate, PeriodType. YearMonthDay); 
int years = period.getYears(); 
if(years < 3) { 
    // 0 - 2 
} else if(years < 13) { 
    // 2 - 12 
} else { 
    // adult 
} 
+0

En fait, je dois vérifier l'enfant et l'âge du nourrisson se situe entre 2-12yrs et 0-2 ans en même temps – Developer

+0

Je suis désolé, je suis tout à fait confus au sujet de ce que vous voulez dire. Y a-t-il une chance que tu sois plus clair sur ce que tu essaies de faire? (Et peut-être modifier le Q pour être plus clair?) – Stewart

+0

Mis à jour ma question – Developer