sh
how can you calculate you your age in daies??
5 Answer(s)      6 years and 4 months ago
Posted in : Date-Calendar

**hi,

I am beginner in java! can any one help me to write programm to calculate age in daies???**

December 9, 2010 at 1:33 PM

Hi Friend,

Try the following code:

```import java.util.*;

public class AgeInDays{
public static void main(String[] args) throws Exception{
Scanner input=new Scanner(System.in);
System.out.print("Enter day of your date of birth: ");
int day=input.nextInt();

System.out.print("Enter month(in number) of your date of birth: ");
int month=input.nextInt();

System.out.print("Enter year of your date of birth: ");
int year=input.nextInt();
System.out.println();

Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();

cal1.set(year, month, day);
cal2.set(2010, 12, 9);

long milis1 = cal1.getTimeInMillis();
long milis2 = cal2.getTimeInMillis();

long diff = milis2 - milis1;
long diffDays = diff / (24 * 60 * 60 * 1000);
System.out.println("Your Age is: " + diffDays + " days.");
}
}
```

Hope that the above code will be helpful for you.

Thanks

December 9, 2010 at 11:23 PM

thanks alot but how can we cheach if user enter wrong input??

all the best,,,

December 9, 2010 at 11:29 PM

why you use (24 * 60 * 60 * 1000) each number is for what??

December 11, 2010 at 3:59 PM

Hi Friend,

Try this:

```import java.util.*;

public class AgeInDays{
public static void main(String[] args) throws Exception{
Scanner input=new Scanner(System.in);
System.out.print("Enter day of your date of birth: ");
int day=input.nextInt();
while(day>31){
if(day<1||day>31){
System.out.println("Re-Enter day. It should not exceeds 31!");
day=input.nextInt();
}
}

System.out.print("Enter month(in number) of your date of birth: ");
int month=input.nextInt();
while(month>12){
if(month<1||month>12){
System.out.println("Re-Enter month. It should not exceeds 12!");
month=input.nextInt();
}
}

System.out.print("Enter year of your date of birth: ");
int year=input.nextInt();
System.out.println();

Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();

cal1.set(year, month, day);
cal2.set(2010, 12, 9);

long milis1 = cal1.getTimeInMillis();
long milis2 = cal2.getTimeInMillis();

long diff = milis2 - milis1;
long diffDays = diff / (24 * 60 * 60 * 1000);
System.out.println("Your Age is: " + diffDays + " days.");
}
}
```

The 24 * 60 * 60 * 1000 helps in converting the milliseconds in a number of days.

Thanks

December 14, 2010 at 2:56 PM

hi; i solve it with this code ... i hope it will help others

import java.util.*; public class AgeInDays { public static void main(String[] args) throws Exception { Calendar cd= Calendar.getInstance();

```        Scanner input=new Scanner(System.in);
```

System.out.print("Enter year of your date of birth: "); int year=input.nextInt(); if(year > cd.get(Calendar.YEAR)) {

```                            System.out.print("Invalid date of birth.");
System.exit(0);
}

System.out.print("Enter month(in number) of your date of birth: ");
int month=input.nextInt();

if(month < 1 || month > 12)
{
System.out.print("Please enter monthe between 1 to 12.");
System.exit(0);
}

System.out.print("Enter day of your date of birth: ");
int day=input.nextInt();

if( month == 2)
{
System.out.print("Please enter day between 1 to 29.");
}
else      if(month == 1 || month == 3 || month == 5 || month == 7 ||month == 8 || month == 10 || month == 12)
{
if(day > 31 || day < 0)
{
System.out.print("Please enter day between 1 to 31.");
System.exit(0);
}
}
else if(month == 4 || month == 6 || month == 9 || month == 11)
{
if(day > 30 || day < 0)
{
System.out.print("Please enter day between 1 to 31.");
System.exit(0);
}
}
else{
if(new GregorianCalendar().isLeapYear(year))
{
if(day < 0 || day > 30)
{
System.out.print("Please enter day between 1 to 29.");
System.exit(0);
}
}
else if(day < 0 || day > 29){
System.out.print("Please enter day between 1 to 28.");
System.exit(0);
}
}
System.out.println();

int difmonth=cd.get(Calendar.MONTH)-month;
int daymonth=difmonth*30;
int difday=cd.get(Calendar.DAY_OF_MONTH)-day;
int difyear=cd.get(Calendar.YEAR)-year;
int age= (365*difyear)+difday+daymonth ;

System.out.println("Your Age is: " +age + " day");

}
```

}

Tutorials