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) 
    

     p
=p.replace(/(^s*)|(s*$)/g, "");//去掉空格
     var l = p.length; 
     
var count=0
     
for(var i=0; i<l; i++
     

     
var digit = p.charAt(i); 
     
if(digit == "." ) 
     

       
++count; 
       
if(count>1
       
{
         
return false
       }
 
       }
 
     
else if(digit < "0" || digit > "9"
       
{
         
return false
       }
 
     }
 
     
return true
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值