Program to calculate age - GeeksforGeeks

29 Oct, 2021
Given 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 :  
C++
Java
Python
C#
PHP
Javascript
// c program for age calculator#include <stdio.h>#include <stdlib.h> // function to calculate current agevoid 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 then current birth    // month 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 functionint 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 program for age calculatorimport 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 then current        // birth_month, then donot 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 program to calculate range def findAge(current_date, current_month, current_year,            birth_date, birth_month, birth_year):     # if birth date is greater then current birth_month    # then donot 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 codecurrent_date = 7current_month = 12current_year = 2017         # birth dd//mm//yyyybirth_date = 16birth_month = 12birth_year = 2009 findAge(current_date, current_month, current_year,        birth_date, birth_month, birth_year)
// C# program for age calculatorusing 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 then        // current birth_month, then donot        // 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// PHP program for// age calculator // function to calculate// current agefunction findAge(int $current_date, int $current_month,                 int $current_year, int $birth_date,                 int $birth_month, int $birth_year){         // days of every month    $month = array(31, 28, 31, 30, 31, 30,                   31, 31, 30, 31, 30, 31 );     // if birth date is greater    // then current birth month    // 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    $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.?>
<script> // Javascript program for age calculator // function to calculate current agefunction findAge(current_date, current_month, current_year, birth_date,             birth_month, birth_year){    // days of every month    month = [31, 28, 31, 30, 31, 30, 31,                        31, 30, 31, 30, 31 ]     // if birth date is greater then current birth    // month 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    var calculated_date = current_date - birth_date;    var calculated_month = current_month - birth_month;    var calculated_year = current_year - birth_year;     // print the present age    document.write("Present Age<br>Years: "+(calculated_year)+" ");    document.write("Months: "+calculated_month+" ");    document.write("Days: "+calculated_date+" ");} // driver code to check the above function// current dd// mm/yyyyvar current_date = 7;var current_month = 12;var current_year = 2017;// birth dd// mm// yyyyvar birth_date = 16;var birth_month = 12;var birth_year = 2009;// function call to print agefindAge(current_date, current_month, current_year,            birth_date, birth_month, birth_year); </script>
Output:  
Present Age
Years: 7  Months: 11  Days: 22
 
vt_m
rutvik_56
ankita_saini
date-time-program
School Programming
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Constructors in C++
Interfaces in Java
Operator Overloading in C++
Copy Constructor in C++
Overriding in Java
Friend class and function in C++
Polymorphism in C++
Types of Operating Systems
Python program to check if a string is palindrome or not
Inheritance in Java