JS 中处理日期

 JS 中处理日期

 

< script type = " text/javascript " >
    
// 计算天数差的函数 yyyy-mm-dd (sDate2-sDate1)间的天数  
function   DateDiff(sDate1,  sDate2) ... {    //sDate1和sDate2是2006-12-18格式  
       var oDate1  = StringToDate(sDate1);
       
var oDate2  = StringToDate(sDate2);
       
var iDays = (oDate2.getTime()-oDate1.getTime())/(24*60*60*1000);
       
//修正:2007-8-18到2007-8-18算一天,2007-8-18到2007-8-19算两天
   if(iDays > 0)...{
           iDays 
= iDays +1;
       }

   
if(iDays < 0)...{
           iDays 
= iDays -1;
       }

   
if(iDays == 0)...//
           iDays = 1;
       }

       
//alert(sDate1+" 加上 0 天: "+addDays(sDate1,0));
       return iDays;
  }

       
       
// 计算天数差的函数 yyyy-mm-dd (sDate2-sDate1)间的天数 去掉周末 
  function   DateDiffNoWeekDay(sDate1,  sDate2) ... {    //sDate1和sDate2是2006-12-18格式  
           var oDate1  = StringToDate(sDate1);
           
var oDate2  = StringToDate(sDate2);
           
var days = 1;
           
//alert(sDate1+"  "+sDate2);
           var tempDate = oDate1;
           
while(tempDate.getTime() < oDate2.getTime())...{
            tempDate 
= addDays(tempDate,2);//加一天
            if(!checkWeekDay(DateToString(tempDate)))...{//不是周末
             days++;
             
//alert(days);
            }

           }

        
return days;
       }

       
       
// yyyy-mm-dd 加上days天数后返回 yyyy-mm-dd
  function  addDays(oDate,days) ... {
     
if(days > 0)...{
            days 
= days - 1;
        }

    
if(days < 0)...{
            days 
= days + 1;
        }

     
var result = new Date(oDate.getTime()+(days*24 * 60 * 60 * 1000));
         
return result;
 }

       
// 去掉周末 new 
  function  addDaysNoWeekDay(sDate,days) ... {
           oDate 
= StringToDate(sDate);
          
//修正:2007-8-18加1天或0天还是2007-8-18,2007-8-18加2天为2007-8-19
       if(days > 0)...{
                days 
= days - 1;
          }

      
if(days < 0)...{
                days 
= days + 1;
          }

     
          
var tempDate = oDate;
      
for(i=0;i<days;i++)...{
              tempDate 
= addDays(tempDate,2);//加上一天
          if(checkWeekDay(DateToString(tempDate)))...{//校验是不是周末
                  i--;
             }

          }

     
return DateToString(tempDate);
 }

       
// Date型转成yyyy-mm-dd
function  DateToString(oDate) ... {
        
var month = oDate.getMonth()+1;
       
var day = oDate.getDate();
    
if(month<10)...{
           month
="0"+month;
        }

   
if(day<10)...{
          day 
= "0"+day;
      }

      
return oDate.getFullYear() + "-" + month +"-"+ day;
  }

       
// yyyy-mm-dd型转成Date
   function  StringToDate(sDate) ... {
        
var aDate  =  sDate.split("-");
       
return new  Date(aDate[1]  +  "-"  +  aDate[2]  +  "-"  +  aDate[0]);
     }

       
    
// 判断日期的正确性,yyyy-mm-dd
    String.prototype.isDate  =   function ()
    
... {
     
//用法:alert("2007-01-31".isDate());
        var r = this.match(/^(d...{1,4})(-)(d...{1,2})2(d...{1,2})$/); 
           
if(r==null)return falsevar d = new Date(r[1], r[3]-1, r[4]); 
        
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    }

    
    
// 对String型校验 判断是不是周末 
     function  checkWeekDay(sDate) ... {
     aDate  
=  sDate.split("-")  
           oDate  
=  new  Date(aDate[1]  +  "-"  +  aDate[2]  +  "-"  +  aDate[0])    //转换为12-18-2006格式  
           day = oDate.getDay();
           
if(day==0 || day == 6)...{
            
return true;
           }

           
return false;
    }

    
    
// 判断是否为数字
     function  checknum(p) 

你可能感兴趣的:(JavaScript,prototype)