|
-
Aug 27th, 2011, 10:03 AM
#1
Thread Starter
PowerPoster
Re: Javascript's equilvalent of DateDiff Function?
fjober,
I actually ended up doing this. I kinda like the Split function as I use that alot in VB. The parseInt I used exactly the same way your illustrating. That solved the part of my problem that occurred first. Now for the other part and that's a complete Date Validation routine.
Thanks for your input!
-
Aug 27th, 2011, 10:11 AM
#2
Addicted Member
Re: Javascript's equilvalent of DateDiff Function?
When dates are entered their cannot be a difference of more than 365 days
ok sir it is easy, I will do it then replay
-
Aug 27th, 2011, 10:33 AM
#3
Thread Starter
PowerPoster
Re: Javascript's equilvalent of DateDiff Function?
Sound good.
Thanks again!
-
Aug 27th, 2011, 10:55 AM
#4
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
|