Solved

Calculate current age in years and months in ASP

Posted on 2013-05-28
4
418 Views
Last Modified: 2013-06-01
I received help for getting the current age in years and months for .NET but now I need it for classic ASP.  I can't figure out how to convert this code to classic ASP.

  Dim dt1, dt2 As Date
        dt1 = DOB
        dt2 = now
        Dim Months As Long
        Dim Diff As Long = DateDiff(DateInterval.Month, dt1, dt2)
        Dim Years As Long = Diff \ 12
        Months = Diff - Years * 12
        formatAge = Years & " y  " & Months & " m "

Open in new window

0
Comment
Question by:huerita37
4 Comments
 
LVL 17

Expert Comment

by:Kent Dyer
ID: 39203573
Hmm  something does not look right..

1 / 2 should be .5..

You need to change:
Dim Years As Long = Diff \ 12

to be:
Dim Years As Long = Diff / 12

HTH,

Kent
0
 
LVL 22

Accepted Solution

by:
Om Prakash earned 500 total points
ID: 39203594
Simply replacing "/" is not going to work.
Since this is classic ASP, variables will not have data type. Here is the updated script:

<%
Dim dt1, dt2
dt1 = "17/4/2005"
dt2 = Date()
Dim Months
Dim Diff
Dif = DateDiff("m", dt1, dt2)
Dim Years
Years = cint(Dif / 12)

Months = Dif - Years * 12
formatAge = Years & " y  " & Months & " m "
response.write formatAge
%>

Open in new window

0
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 39203697
This is an easy way to use the same code multiple times in your page or for loops.

function formatAge(x)
formatAge="No date given"
if isdate(x) then
     Months=DateDiff("m", x, date)
     Years=    int(Months / 12)
     Months=  Months - Years * 12
     formatAge= Years &" Y "& Months & " M"
end if
end function

' now play
response.write formatAge("1/18/1998") 
response.write formatAge("xyz") ' will output "No date given"
y=1998
for x = 1 - 12
    response.write formatAge("5/15/"&x+y)&"<br>"
next

Open in new window

0
 

Author Closing Comment

by:huerita37
ID: 39213595
Sorry for the delay.  I haven't had a chance to test to make sure I get the correct answer in my program but your code works.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question