<!-- Example File From "JavaScript and DHTML Cookbook" Published by O'Reilly & Associates Copyright 2003 Danny Goodman -->
function daysBetween(date1, date2) { var DSTAdjust = 0; // constants used for our calculations below oneMinute = 1000 * 60; var oneDay = oneMinute * 60 * 24; // equalize times in case date objects have them date1.setHours(0); date1.setMinutes(0); date1.setSeconds(0); date2.setHours(0); date2.setMinutes(0); date2.setSeconds(0); // take care of spans across Daylight Saving Time changes if (date2 > date1) { DSTAdjust = (date2.getTimezoneOffset() - date1.getTimezoneOffset()) * oneMinute; } else { DSTAdjust = (date1.getTimezoneOffset() - date2.getTimezoneOffset()) * oneMinute; } var diff = Math.abs(date2.getTime() - date1.getTime()) - DSTAdjust; return Math.ceil(diff/oneDay); }
var projectLength = 0; // validate form entries with checkDate() function from Recipe 2.12 var startField = document.entryForm.startDate; var endField = document.entryForm.endDate; if (checkDate(startField) && checkDate(endField)) { var startDate = new Date(startField.value); var endDate = new Date(endField.value); projectLength = daysBetween(startDate, endDate); } if (projectLength > 0) { alert("You've specified " + projectLength + " days for this project."); }
Related Scripts with Example Source Code in same category :