function oDate() { this.dayName = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"); this.monthName = new Array("January","February","March","April","May","June","July","August","September","October","November","December"); this.ordinal = ["zeroth","first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth","twenty first","twenty second","twenty third","twenty fourth","twenty fifth","twenty sixth","twenty seventh","twenty eighth","twenty ninth","thirtieth","thirty first"];} oDate.getDayName=function(date) { var dayName = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"); return dayName[date.getDay()];} oDate.getMonthName=function(date) { var monthName = new Array("January","February","March","April","May","June","July","August","September","October","November","December"); return monthName[date.getMonth()];} oDate.clone=function(date) { clone=new Date(); clone.setTime(date.getTime()); return clone;} oDate.getDateOnly=function(date) { if (date==undefined) date=new Date(); date.setHours(0); date.setMinutes(0); date.setSeconds(0); date.setMilliseconds(0); return date;} oDate.getMinutes=function(date) { return date.getHours() * 60 + date.getMinutes();} oDate.daysInMonth=function(date) { return 32 - new Date(date.getYear(), date.getMonth(), 32).getDate();} oDate.SQLToJavascript=function(date) { return new Date(date.substring(0,4),date.substring(5,7)-1,date.substring(8,10),date.substring(11,13),date.substring(14,16),date.substring(17,19),date.substring(20))} oDate.javascriptToSQL=function(date) { if (date==undefined) date=new Date(); return date.getFullYear() + '-' + (date.getMonth()+1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + '.' + date.getMilliseconds();} oDate.javascriptToSqlDate=function(date) { if (date==undefined) date=new Date(); return date.getFullYear() + '-' + (date.getMonth()+1) + '-' + date.getDate();} oDate.getDateString=function() { var theDate = new Date; return theDate.getFullYear().toString() + oUtilities.leadingZero(theDate.getMonth()+1,2) + oUtilities.leadingZero(theDate.getDate(),2) + oUtilities.leadingZero(theDate.getHours(),2) + oUtilities.leadingZero(theDate.getMinutes(),2) + oUtilities.leadingZero(theDate.getSeconds(),2) + oUtilities.leadingZero(theDate.getMilliseconds(),3);} oDate.getDisplay=function(date, hideTime) { var dateDisplay=oDate.getDayName(date).substring(0,3) + ' ' + date.getDate() + ' ' + oDate.getMonthName(date).substring(0,3) + ' '; dateDisplay+=date.getFullYear(); if (!hideTime) { var hours=date.getHours(),modifier='am'; //if (hours>12) hours=hours-12; //if (hours>11) modifier='pm'; dateDisplay+=', ' + oUtilities.leadingZero(hours,2) + ':' + oUtilities.leadingZero(date.getMinutes(),2);} return dateDisplay;} oDate.firstDayOfWeek=function() { today=new Date(); today=new Date(today.getFullYear(),today.getMonth(),today.getDate()); return new Date(today.getTime()-(today.getDay()-1)*86400000);} oDate.datediff=function(unit, date1, date2) { var date1s,date2s; if (unit=='minute') { date1s=new Date(date1.getFullYear(),date1.getMonth(),date1.getDate(),date1.getHours(),date1.getMinutes(),0,0); date2s=new Date(date2.getFullYear(),date2.getMonth(),date2.getDate(),date2.getHours(),date2.getMinutes(),0,0); return (date1s.getTime() - date2s.getTime()) / 60000;} else if (unit=='hour') { date1s=new Date(date1.getFullYear(),date1.getMonth(),date1.getDate(),date1.getHours(),date1.getMinutes(),0,0); date2s=new Date(date2.getFullYear(),date2.getMonth(),date2.getDate(),date2.getHours(),date2.getMinutes(),0,0); return Math.floor((date1s.getTime() - date2s.getTime()) / 3600000);} else if (unit=='day') { date1s=new Date(date1.getFullYear(),date1.getMonth(),date1.getDate(),0,0,0,0); date2s=new Date(date2.getFullYear(),date2.getMonth(),date2.getDate(),0,0,0,0); //Round because where the clocks go back and forward, the integer is not exact. return Math.round((date1s.getTime() - date2s.getTime()) / 86400000);} else if (unit=='month') {return (date1.getFullYear() * 12 + date1.getMonth()) - (date2.getFullYear() * 12 + date2.getMonth())} else {return 'error'}} oDate.getDate8String=function(date) { return date.getFullYear().toString() + oUtilities.leadingZero(date.getMonth()+1,2) + oUtilities.leadingZero(date.getDate(),2);}