Solved

Calculate current age in years and months in ASP

Posted on 2013-05-28
4
413 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

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:  The Exchange of information …
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
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…

786 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