|
-
Aug 27th, 2011, 10:55 AM
#8
Addicted Member
Re: Javascript's equilvalent of DateDiff Function?
try this function please, return true if the difference is less than a year:
HTML Code:
<script type="text/javascript">
// mm/dd/yyyy
var validDate = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
function dateDifference(date1, date2)
{
if (validDate.test(date1) && validDate.test(date1)) {
date1Numbers = date1.split("/");
date2Numbers = date2.split("/");
var month1 = date1Numbers[0];
var month2 = date2Numbers[0];
var day1 = date1Numbers[1];
var day2 = date2Numbers[1];
var yearDif = Math.abs(date1Numbers[2] - date2Numbers[2]);
if (yearDif <= 1) {
if (yearDif == 1) {
if (month2 <= month1) {
if (month2 == month1) {
if (day2 <= day1) {
calculateDiff(date1Numbers, date2Numbers);
return true;
} else {
return false;
}
} else {
calculateDiff(date1Numbers, date2Numbers);
}
} else {
return false;
}
} else {
calculateDiff(date1Numbers, date2Numbers);
}
} else {
return false;
}
} else {
return false;
}
}
function calculateDiff(date1Numbers, date2Numbers)
{
var resultAsDays = 0;
var day1 = parseInt(date1Numbers[1]);
var month1 = parseInt(date1Numbers[0]);
var year1 = parseInt(date1Numbers[2]);
var day2 = parseInt(date2Numbers[1]);
var month2 = parseInt(date2Numbers[0]);
var year2 = parseInt(date2Numbers[2]);
if (year1 == year2) {
resultAsDays += (Math.abs(month2 - month1)) * 30;
resultAsDays -= day1;
} else {
if (month1 == month2) {
resultAsDays += 330;
} else {
resultAsDays += (12 - (month1 - 1) + month2) * 30;
resultAsDays -= day1;
}
}
resultAsDays += day2;
window.alert(resultAsDays);
}
</script>
<input type="text" id="date1" />
<input type="text" id="date2" />
<input type="button" value="is valid" onclick="window.alert(dateDifference(document.getElementById('date1').value, document.getElementById('date2').value));" />
hope this to be useful 
please try it, I have tested it on some dates and I think it works good
regards 
Feras Jobeir
Last edited by fjober; Aug 27th, 2011 at 02:02 PM.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|