Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3541
  • Last Modified:

Find the age of a person..

How to find the age of a person by providing date of birth using VBScript?
0
t_msenthilk
Asked:
t_msenthilk
  • 2
1 Solution
 
DexstarCommented:
@t_msenthilk:

> How to find the age of a person by providing date of birth using VBScript?

    Dim nAge
    Dim dtDOB

    nAge = (Now() - dtDOB) / 365.24

(Substracting 2 date values gives you their difference in Days.  Divide that by the number of days in a year, and you get years...)  If you a nice round number, you can just round that value.

Hope That Helps,
Dex*
0
 
DhaestCommented:
' ******************************************************************
' This function returns a person's age in years. It addresses some
'  rounding issues with using a simple DateDiff() function call.

' Example: lngYourAge = Age("04/24/1973")
' Returns: lngYourAge is the correct age of the person as of today

' By: Craig H. Rettig
' Date: February 2003

' Get more free code samples at http://www.BitBucketHeaven.com/
' ******************************************************************

Public Function Age(ByVal vntDOB As Variant, _
    Optional ByVal vntAsOf As Variant = Null) As Long

    Dim dtDOB As Date
    Dim dtAsOf As Date
    Dim dtBDay As Date  'Birthday in the year of calculation.

    Age = -1 'Initialize to -1 to return if an error occurs.
    If IsDate(vntDOB) Then
        dtDOB = CDate(vntDOB)

        If Not IsDate(vntAsOf) Then 'Date to calculate age from.
            dtAsOf = Date
        Else
            dtAsOf = CDate(vntAsOf)
        End If

        If dtAsOf >= dtDOB Then 'Calculate only if it's after person was born.
            dtBDay = DateSerial(Year(dtAsOf), Month(dtDOB), Day(dtDOB))
            Age = CLng(DateDiff("yyyy", dtDOB, dtAsOf) + (dtBDay > dtAsOf))
        End If
    End If
End Function

0
 
DexstarCommented:
Why would you use that huge function when you can do it in one line?  If you really like the "DateDiff" function, then use it like this:

     nAge = DateDiff("yyyy", dtDOB, Date())

There is no reason for that function to be so much code.

Dex*
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now