计算时间差

16 篇文章 0 订阅

PHP

 //初始化变量
 $_stardate = substr($_gstardate,0,10);
 $_enddate = substr($_genddate,0,10);
 //共有多少天
 $_start = mktime( 0, 0, 0, substr( $_stardate, 5, 2 ), substr( $_stardate, 8, 2 ), substr( $_stardate, 0, 4 ) );
 $_end = mktime( 0, 0, 0, substr( $_enddate, 5, 2 ), substr( $_enddate, 8, 2 ), substr( $_enddate, 0, 4 ) );
 $_allday = ceil( ($_end - $_start) / ( 3600 * 24 ) ); //天数

 //算出具体的天来
 for ( $i = 0; $i <= $_allday; $i++ )
 {
   $date_array[] = date('Y-m-d',strtotime("-$i days",strtotime($_enddate )));
 }

 

 strtotime :

strtotime("+1 day");// 1天后
strtotime("today");// 今天
strtotime("+1 hours");// 1小时后
strtotime("-1 day");// 昨天

 

JS

 // 得到字符串型当前日期 :格式 yyyy-mm-dd


 //计算两个日期的差值  
function   DateDiff(sDate1,   sDate2){ 
          var   aDate,   oDate1,   oDate2,   iDays;  
          aDate   =   sDate1.split("-");  
          oDate1   =   new   Date(aDate[1]   +   '-'   +   aDate[2]   +   '-'   +   aDate[0])   ;   //转换为12-18-2002格式  
          aDate   =   sDate2.split("-");  
          oDate2   =   new   Date(aDate[1]   +   '-'   +   aDate[2]   +   '-'   +   aDate[0]);   
    if((oDate2-oDate1)<=0){
      
       }  
          var  iDays   =   parseInt(Math.abs(oDate1   -   oDate2)   /   1000   /   60   /   60   /24);     //把相差的毫秒数转换为天数  
          return  iDays ;  
}  

function getDateNow()
{
  var d;
  var sY;
  var sM;
  var sD;
  var sA;
  var sDs;
  var sMs;
 
  d = new Date();
  sY= d.getYear();
  sM=String(d.getMonth() + 1);
  sD=String(d.getDate());
   var sDl =sD.length;
   var sMl =sM.length;
  
    if(sDl==1){
     sDs= '0'+sD;
    }else{
     sDs= sD;
  }
    if(sMl==1){
      sMs= '0'+sM;
     }else{
      sMs=sM;
    }
  sA = sY+"-"+sMs+"-"+sDs;
  return(sA);
}
function VerifyInput() {
 
 
 try{
  var startTime = document.getElementsByName('starttime')[0];
  var endTime = document.getElementsByName('endtime')[0]; 
   var nowdate = TodayDate.substr(0,4)+'-'+TodayDate.substr(4,2)+'-'+TodayDate.substr(6,2);
   
     /*  shuyq  2007-11-9  新加判断*/
  if(startTime.value.substr(0,10) > nowdate ){
   alert("开始日期不能大于当前日期");
   return false;
  }
  
   if(endTime.value.substr(0,10) > nowdate ){
   alert("结束日期不能大于当前日期");
   return false;
  }

  if(startTime.value > endTime.value) {
   alert("开始日期不能大于结束日期");
   return false;
  }
       
        //为优化新加一些判断 mac 最少输入10位,IP最少输入 两截
        var mac   = document.getElementsByName('mac')[0];
        var ip    = document.getElementsByName('in_ip')[0];

        if ( mac.value !="" && mac.value.length < 10  )
        {
            alert("机器MAC地址请输入详细些,最少输入10位或以上进行查询,以避免数据量过多,造成系统缓慢!!! ");
   return false;
        }
       
        var macal = document.getElementsByName('out_mac')[0];
        if ( macal.value !="" && macal.value.length < 10  )
        {
            alert("机器MAC地址请输入详细些,最少输入10位或以上进行查询,以避免数据量过多,造成系统缓慢!!! ");
   return false;
        }
       
        var ip_array = ip.value.split('.');
        var iun=0;
       
        for( var o=0; o < ip_array.length; o++)
        {
           if ( ip_array[o] !='' )
           {
              iun ++ ;
           }
        }
        if ( iun < 2 &&  ip.value !="" )
        {
            alert("机器IP地址请输入详细些,最少输入两截或以上进行查询(如:111.112),以避免数据量过多,造成系统缓慢!!! ");
      return false;
        }
      
  if (document.all("ReportWaitBar")){
     document.all("ReportWaitBar").style.display = "";
   }
   
   
   var alldays = DateDiff(startTime.value,endTime.value);
  
  //如果日期间隔出现31天以上则做标签提示
  if(typeof(eval("document.all.content_all"))!= "undefined")
  {
   if(alldays + 1  > 31)
   {
    tipwarningshow();
   }
  }
  
     document.all.alldays.value=alldays + 1;
   
 } catch(e){}
}

function tipwarningshow()
{
 document.all('TipWarningshow').style.display='';
 setTimeout("TipWarningshow.style.display='none'",8000);
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值