Open in App
Not now

# Program to calculate age

• Difficulty Level : Easy
• Last Updated : 17 Feb, 2023

Given the current date and birth date, find the present age.

Examples:

Input : Birth date = 07/09/1996
Present date = 07/12/2017
Output : Present Age = Years: 21  Months: 3  Days: 0
t Age = Years: 7  Months: 11  Days: 21

While calculating the difference in two dates we need to just keep track of two conditions that will do.

• If the current date is less than that of the birth date, then that month is not counted, and for subtracting dates we add number of month days to the current date so as to get the difference in the dates.
• If the current month is less than the birth month, then the current year is not taken into count as this year has not been completed and for getting the difference of months, we subtract by adding 12 to the current month.
• At the end we just need to subtract the days, months and years to get the difference after the two conditions are dealt with.

Below is the implementation of the above approach is as follows:

## C++

 // c program for age calculator #include #include    // function to calculate current age void findAge(int current_date, int current_month,              int current_year, int birth_date,              int birth_month, int birth_year) {     // days of every month     int month[] = { 31, 28, 31, 30, 31, 30,                     31, 31, 30, 31, 30, 31 };        // if birth date is greater than current date     // then do not count this month and add 30     // to the date so as to subtract the date and     // get the remaining days     if (birth_date > current_date) {         current_date             = current_date + month[birth_month - 1];         current_month = current_month - 1;     }        // if birth month exceeds current month, then do     // not count this year and add 12 to the month so     // that we can subtract and find out the difference     if (birth_month > current_month) {         current_year = current_year - 1;         current_month = current_month + 12;     }        // calculate date, month, year     int calculated_date = current_date - birth_date;     int calculated_month = current_month - birth_month;     int calculated_year = current_year - birth_year;        // print the present age     printf("Present Age\nYears: %d  Months: %d  Days:"            " %d\n",            calculated_year, calculated_month,            calculated_date); }    // driver code to check the above function int main() {     // current dd// mm/yyyy     int current_date = 7;     int current_month = 12;     int current_year = 2017;        // birth dd// mm// yyyy     int birth_date = 16;     int birth_month = 12;     int birth_year = 2009;        // function call to print age     findAge(current_date, current_month, current_year,             birth_date, birth_month, birth_year);     return 0; }

## Java

 // Java program for age calculator import java.io.*;    class GFG {     static void findAge(int current_date, int current_month,                     int current_year, int birth_date,                     int birth_month, int birth_year)     {         int month[] = { 31, 28, 31, 30, 31, 30, 31,                               31, 30, 31, 30, 31 };            // if birth date is greater than current          // date, then do not count this month         // and add 30 to the date so as to subtract          // the date and get the remaining days         if (birth_date > current_date) {             current_month = current_month - 1;             current_date = current_date + month[birth_month - 1];         }            // if birth month exceeds current month,          // then do not count this year and add          // 12 to the month so that we can subtract         // and find out the difference         if (birth_month > current_month) {             current_year = current_year - 1;             current_month = current_month + 12;         }            // calculate date, month, year         int calculated_date = current_date - birth_date;         int calculated_month = current_month - birth_month;         int calculated_year = current_year - birth_year;            // print the present age         System.out.println("Present Age");         System.out.println("Years: " + calculated_year +                " Months: " + calculated_month + " Days: " +                calculated_date);     }     public static void main(String[] args)     {         // present date         int current_date = 7;         int current_month = 12;         int current_year = 2017;            // birth dd// mm// yyyy         int birth_date = 16;         int birth_month = 12;         int birth_year = 2009;            // function call to print age         findAge(current_date, current_month, current_year,               birth_date, birth_month, birth_year);     } }

## Python

 # Python program to calculate range    def findAge(current_date, current_month, current_year,              birth_date, birth_month, birth_year):        # if birth date is greater than current date     # then do not count this month and add 30 to the date so     # as to subtract the date and get the remaining days            month =[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]     if (birth_date > current_date):         current_month = current_month - 1         current_date = current_date + month[birth_month-1]                           # if birth month exceeds current month, then     # donot count this year and add 12 to the     # month so that we can subtract and find out     # the difference      if (birth_month > current_month):                  current_year = current_year - 1;         current_month = current_month + 12;                # calculate date, month, year     calculated_date = current_date - birth_date;     calculated_month = current_month - birth_month;     calculated_year = current_year - birth_year;            # print present age     print"Present Age"     print("Years:", calculated_year, "Months:",            calculated_month, "Days:", calculated_date)        # driver code  current_date = 7 current_month = 12 current_year = 2017            # birth dd//mm//yyyy birth_date = 16 birth_month = 12 birth_year = 2009    findAge(current_date, current_month, current_year,          birth_date, birth_month, birth_year)

## C#

 // C# program for age calculator using System;    class GFG {        static void findAge(int current_date,                         int current_month,                         int current_year,                             int birth_date,                          int birth_month,                            int birth_year)     {         int []month = { 31, 28, 31, 30, 31, 30,                        31, 31, 30, 31, 30, 31 };            // if birth date is greater than          // current date, then do not          // count this month and add 30 to the          // date so as to subtract the date and         // get the remaining days         if (birth_date > current_date)         {             current_month = current_month - 1;                            current_date = current_date                        + month[birth_month - 1];         }            // if birth month exceeds current month,          // then do not count this year and add          // 12 to the month so that we can          // subtract and find out the difference         if (birth_month > current_month)         {             current_year = current_year - 1;             current_month = current_month + 12;         }            // calculate date, month, year         int calculated_date = current_date                                   - birth_date;                                             int calculated_month = current_month                                  - birth_month;                                            int calculated_year = current_year                                   - birth_year;            // print the present age         Console.WriteLine("Present Age");         Console.WriteLine("Years: "                             + calculated_year +                  " Months: " + calculated_month                 + " Days: " + calculated_date);     }            // driver code to check the above function     public static void Main()     {                    // present date         int current_date = 7;         int current_month = 12;         int current_year = 2017;            // birth dd// mm// yyyy         int birth_date = 16;         int birth_month = 12;         int birth_year = 2009;            // function call to print age         findAge(current_date, current_month,                     current_year, birth_date,                     birth_month, birth_year);     } }    //This code is contributed by vt_m.

## PHP

 \$current_date)      {         \$current_date = \$current_date +                          \$month[\$birth_month - 1];         \$current_month = \$current_month - 1;     }        // if birth month exceeds      // current month, then do     // not count this year and      // add 12 to the month so     // that we can subtract and      // find out the difference     if (\$birth_month > \$current_month)     {         \$current_year = \$current_year - 1;         \$current_month = \$current_month + 12;     }        // calculate date, month, year     \$calculated_date = \$current_date -                         \$birth_date;     \$calculated_month = \$current_month -                          \$birth_month;     \$calculated_year = \$current_year -                         \$birth_year;        // print the present age     echo "Present Age\nYears:",\$calculated_year,          " " , "Months:", \$calculated_month, " ",                        "Days:", \$calculated_date;                                     }        // Driver Code     // current dd// mm/yyyy     \$current_date = 7;     \$current_month = 12;     \$current_year = 2017;        // birth dd// mm// yyyy     \$birth_date = 16;     \$birth_month = 12;     \$birth_year = 2009;        // function call to print age     findAge(\$current_date, \$current_month,              \$current_year, \$birth_date,              \$birth_month, \$birth_year);                // This code is contributed by anuj_67. ?>

## Javascript



Output

Present Age
Years: 7  Months: 11  Days: 22

Time Complexity: O(1)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up
Related Articles