Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
99
rated 0 times [  101] [ 2]  / answers: 1 / hits: 53189  / 16 Years ago, wed, march 18, 2009, 12:00:00

I need to calculate if someone is over 18 from their date of birth using JQuery.



var curr = new Date();
curr.setFullYear(curr.getFullYear() - 18);

var dob = Date.parse($(this).text());

if((curr-dob)<0)
{
$(this).text(Under 18);
}
else
{
$(this).text( Over 18);
}


There must be some easier functions to use to compare dates rather than using the setFullYear and getFullYear methods.



Note: My actual reason for wanting to find a new method is length of the code. I have to fit this code into a database field that is limited to 250 chars. Changing the database is not something that can happen quickly or easily.


More From » jquery

 Answers
7

You might find the open source Datejs library to be helpful. Specifically the the addYears function.



var dob = Date.parse($(this).text());
if (dob.addYears(18) < Date.today())
{
$(this).text(Under 18);
}
else
{
$(this).text( Over 18);
}


In a more terse fashion:



$(this).text(
Date.parse($(this).text()).addYears(18) < Date.today() ?
Under 18 :
Over 18
)

[#99827] Thursday, March 12, 2009, 16 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
cristinadomoniquel

Total Points: 320
Total Questions: 94
Total Answers: 94

Location: Moldova
Member since Sat, Aug 6, 2022
2 Years ago
cristinadomoniquel questions
Wed, Apr 7, 21, 00:00, 3 Years ago
Tue, Dec 1, 20, 00:00, 4 Years ago
Mon, Nov 23, 20, 00:00, 4 Years ago
Mon, Aug 17, 20, 00:00, 4 Years ago
;