Improve company productivity with a Business Account.Sign Up

x
?
Solved

Calculate current age in years and months in ASP

Posted on 2013-05-28
4
Medium Priority
?
587 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 2000 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 55

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

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

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…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming…
In this video I will demonstrate how to set up Nine, which I now consider the best alternative email app to Touchdown.
If you are looking for an automated tool which can generate reports for Outlook emails and other items from PST file, then you can go for Kernel PST Reporter tool. The reports which are created by this tool are helpful to analyze and understand PST …

606 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