»
AnglaisFran�aisVietnamien

Imprimer - Date Différence script - JavaScriptBank.com

Version compl�te: jsB@nk » Heure » Validation » Date Différence script
URL: https://www.javascriptbank.com/date-difference-script.html

Date Différence script © JavaScriptBank.comEntrez les deux dates (y compris le temps!) Et ce script va afficher le nombre de semaines, jours, heures, minutes et secondes entre les deux. Le champ des secondes est facultative aussi. Pour un exemple, essayez d'entrer votre date de naissance et de la comparer à la date d'aujourd'hui.

Version compl�te: jsB@nk » Heure » Validation » Date Différence script
URL: https://www.javascriptbank.com/date-difference-script.html



JavaScript
<script language="JavaScript">// Ronnie T. Moorefunction isValidDate(dateStr) {// Date validation function courtesty of // Sandeep V. Tamhankar ([email protected]) -->// Checks for the following valid date formats:// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYYvar datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit yearvar matchArray = dateStr.match(datePat); // is the format ok?if (matchArray == null) {alert(dateStr + " Date is not in a valid format.")return false;}month = matchArray[1]; // parse date into variablesday = matchArray[3];year = matchArray[4];if (month < 1 || month > 12) { // check month rangealert("Month must be between 1 and 12.");return false;}if (day < 1 || day > 31) {alert("Day must be between 1 and 31.");return false;}if ((month==4 || month==6 || month==9 || month==11) && day==31) {alert("Month "+month+" doesn't have 31 days!")return false;}if (month == 2) { // check for february 29thvar isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));if (day>29 || (day==29 && !isleap)) {alert("February " + year + " doesn't have " + day + " days!");return false;   }}return true;}function isValidTime(timeStr) {// Time validation function courtesty of // Sandeep V. Tamhankar ([email protected]) -->// Checks if time is in HH:MM:SS AM/PM format.// The seconds and AM/PM are optional.var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;var matchArray = timeStr.match(timePat);if (matchArray == null) {alert("Time is not in a valid format.");return false;}hour = matchArray[1];minute = matchArray[2];second = matchArray[4];ampm = matchArray[6];if (second=="") { second = null; }if (ampm=="") { ampm = null }if (hour < 0  || hour > 23) {alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");return false;}if (hour <= 12 && ampm == null) {if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {alert("You must specify AM or PM.");return false;   }}if  (hour > 12 && ampm != null) {alert("You can't specify AM or PM for military time.");return false;}if (minute < 0 || minute > 59) {alert ("Minute must be between 0 and 59.");return false;}if (second != null && (second < 0 || second > 59)) {alert ("Second must be between 0 and 59.");return false;}return true;}function dateDiff(dateform) {date1 = new Date();date2 = new Date();diff  = new Date();if (isValidDate(dateform.firstdate.value) && isValidTime(dateform.firsttime.value)) { // Validates first date date1temp = new Date(dateform.firstdate.value + " " + dateform.firsttime.value);date1.setTime(date1temp.getTime());}else return false; // otherwise exitsif (isValidDate(dateform.seconddate.value) && isValidTime(dateform.secondtime.value)) { // Validates second date date2temp = new Date(dateform.seconddate.value + " " + dateform.secondtime.value);date2.setTime(date2temp.getTime());}else return false; // otherwise exits// sets difference date to difference of first date and second datediff.setTime(Math.abs(date1.getTime() - date2.getTime()));timediff = diff.getTime();weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));timediff -= weeks * (1000 * 60 * 60 * 24 * 7);days = Math.floor(timediff / (1000 * 60 * 60 * 24)); timediff -= days * (1000 * 60 * 60 * 24);hours = Math.floor(timediff / (1000 * 60 * 60)); timediff -= hours * (1000 * 60 * 60);mins = Math.floor(timediff / (1000 * 60)); timediff -= mins * (1000 * 60);secs = Math.floor(timediff / 1000); timediff -= secs * 1000;dateform.difference.value = weeks + " weeks, " + days + " days, " + hours + " hours, " + mins + " minutes, and " + secs + " seconds";return false; // form should never submit, returns false}//  End --></script><!--    This script downloaded from www.JavaScriptBank.com    Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->


HTML
<form onsubmit="return dateDiff(this);"><table><tbody><tr><td><pre>First Date:   Date: <input type="text" name="firstdate" value="" size="10" maxlength="10">  (MM/DD/YYYY format)              Time: <input type="text" name="firsttime" value="" size="10" maxlength="10">  (HH:MM:SS format)Second Date:  Date: <input type="text" name="seconddate" value="" size="10" maxlength="10">  (MM/DD/YYYY format)              Time: <input type="text" name="secondtime" value="" size="10" maxlength="10">  (HH:MM:SS format)<input type="submit" value="Calculate Difference!">Date Difference:<br><input type="text" name="difference" value="" size="60"></pre></td></tr></tbody></table></form><!--    This script downloaded from www.JavaScriptBank.com    Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->