# Vanilla Javascript Calculate Age from Date of Birth – Step by Step

## Javascript Calculate Age – Introduction

In this article, we will learn how to calculate a persons age using their Date of Birth as an input in Javascript. Vanilla Javascript solution to return a persons age using their DOB.

Pre-requisites: Basic HTML and Javascript Knowledge.

## Video Tutorial – Javascript Calculate Age from Date of Birth

Now, you have seen the video tutorial, lets, move on to the code explanation and we will cover the following –

## How to Calculate Age Javascript in Years, Months, Days, Hours, Minutes, Seconds and Milliseconds using persons DOB

Before we move on to Javascript code, lets create a HTML div to help us print results on the screen, you can replace this with your GUI.

HTML Code and Explanation

In the HTML File.

I create a <div> with an id called placeholder.

Later this id will be used in JavaScript to identify this div element and print results on the screen.

Try the code for yourself here: CodePen

See the Pen Javascript to Calculate Age in Years, Months, Days when given a DOB by Navjot Singh Virk (@virksaabnavjot) on CodePen.

### Calculate Age JavaScript Code and Explanation

In the JS File

First I define a variable called DOB to store a persons Date of Birth.

Then I leverage inbuilt Javascript Methods: Date.parse() and Date.now()

See the Pen Javascript to Calculate Age in Years, Months, Days when given a DOB by Navjot Singh Virk (@virksaabnavjot) on CodePen.

### Definition and Usage

The Date.parse() method parses a date string and returns the number of milliseconds between the date string and midnight of January 1, 1970.

The Date.now() method returns the number of milliseconds since January 1, 1970.

Using these functions as base.

I create 2 new variables millisecondsBetweenDOBAnd1970 and millisecondsBetweenNowAnd1970 to store number of milliseconds between DOB/NOW and January 1, 1970 respectively.

Then to get the age of a person in Milliseconds subtract DOB from NOW.

Now, when I have a persons age in Milliseconds, we just need to write basic logic to convert it into Years, Months, Days, Hours, Minutes, Seconds

As we know this as facts:

1 year = 365 day (except leap year), 1 Month = 30 days (approx.), 1 Day = 24 Hours, 1 Hour = 60 Minutes, 1 Minute = 60 Seconds, 1 Second = 1000 Milliseconds

Disclaimer: Leap Year hasn’t been taken into consideration in this example. The days in a month has also been generalised to 30 days in a months (whereas depending on a year a month can have 31, 30, 29 or 28 days in it)

Lets, get back into explanation, then I convert these facts into code.

Then, I write a function called printResults to print our results on the page using document.getElementById and leveraging the placeholder id we set for the div in HTML we set the message using innerHTML.

### Output / Result

In the results you can see all the conversions, improve or try the code for yourself on CodePen.

See the Pen Javascript to Calculate Age in Years, Months, Days when given a DOB by Navjot Singh Virk (@virksaabnavjot) on CodePen.