//计算两个天数的时间差
<script language="javascript">
function checkDate(dateStr){
if(dateStr==""||dateStr==null){
return false;
}
else{
if(dateStr.indexOf("-")!=-1){
var dateArr = dateStr.split("-");
var year = dateArr[0]; //提取年份
var month = dateArr[1]; //提取月份
var day = dateArr[2]; //提取日
//如果年份、月份、日期 不是数字或者<=0,返回false
if(isNaN(year)||year<=0){
return false;
}
if(isNaN(month)||month<=0||month>12){
return false;
}
if(isNaN(day)||day<=0||day>31){
return false;
}
//年份能被4整除并且不能被100整除,或者能被400整除,则为闰年
if((year%4==0&&year0!=0)||(year%400==0)){
if(month==2){//闰年的2月
if(day>29){
return false;
}
}
}else{//不是闰年的2月
if(month==2){
if(day>28){
return false;
}
}
}
//1、3、5、7、8、10、12月份为31天
var m1 = new Array(1,3,5,7,8,10,12);
for(var i=0;i<m1.length;i++){
if(parseInt(month)==m1[i]){
if(day>31){
return false;
}
}
}
//4、6、9、12月份为31天
var m2 = new Array(4,6,9,11);
for(var j=0;j<m2.length;j++){
if(parseInt(month)==m2[j]){
if(day>30){
return false;
}
}
}
/**
*计算两个日期相差的天数
*@date1:日期类型的字符串(yyyy-mm-dd)
*@date2:日期类相的字符串 (yyyy-mm-dd)
*@return:返回日期天数差
*/
function getDays(date1,date2){
var date1Str = date1.split("-");//将日期字符串分隔为数组,数组元素分别为年、月、日
//根据年、月、日的值创建Date对象
var date1Obj = new Date(date1Str[0],(date1Str[1]-1),date1Str[2]);
var date2Str = date2.split("-");
var date2Obj = new Date(date2Str[0],(date2Str[1]-1),date2Str[2]);
var t1 = date1Obj.getTime();//返回从1970-1-1开始计算到Date对象中的时间之间的毫秒数
var t2 = date2Obj.getTime();//返回从1970-1-1开始计算到Date对象中的时间之间的毫秒数
var datetime=1000*60*60*24; //一天时间的毫秒值
var minusDays = Math.floor(((t2-t1)/datetime));//计算出两个日期天数差
var days = Math.abs(minusDays);//如果结果为负数,取绝对值
return days;
}