js 时间比较

1,需要完成的功能:如图

“活动状态”需要根据“活动开始时间”和“活动结束时间”判断它的值。有三个值分别为:未开始,在进行,已结束

2,实现代码:

//当前时间格式化
    var date = new Date();
      //取当前时间,格式为,yyyy-mm-dd hh:mm:ss
        function GetDateT()
         {
          var d,s;
          d = new Date();
          
          if(d.getMonth() + 1 < 10){
             s = d.getFullYear() + "-0";             //取年份
           }else{
             s = d.getFullYear() + "-";             //取年份
           }
          if(d.getDate() + 1 < 10){
             s = s + (d.getMonth() + 1) + "-0";//取月份
          }else{
             s = s + (d.getMonth() + 1) + "-";
          }
          s += d.getDate() + " ";         //取日期
          
          if(d.getHours()<10){
              s += "0"+d.getHours() + ":";
          }else{
              s += d.getHours() + ":";
          }
          if(d.getMinutes()<10){
              s += "0"+d.getMinutes() + ":";
          }else{     
              s += d.getMinutes() + ":";    //取分
              }
          if(d.getSeconds()<10){
              s += "0"+d.getSeconds();
          }else{
              s += d.getSeconds();         //取秒
          }
          
          return(s);  
          
         } 
        nowDate=GetDateT();
        
    //活动状态
    function formatActStatus(cellvalue, options, rowObject){
        //开始时间
        var startYear=rowObject.activityStartTime.substring(0,10).split('-');
        var startDate=rowObject.activityStartTime.substring(11).split(':');
        var startTime=parseInt(startYear[0]+startYear[1]+startYear[2]+startDate[0]+startDate[1]+startDate[2]);

        //当前时间
        var nowYear=nowDate.substring(0,10).split('-');
        var nowDates=nowDate.substring(11).split(':');
        var nowTime=parseInt(nowYear[0]+nowYear[1]+nowYear[2]+nowDates[0]+nowDates[1]+nowDates[2]);

        //结束时间
        var endYear=rowObject.activityEndTime.substring(0,10).split('-');
        var endDate=rowObject.activityEndTime.substring(11).split(':');
        var endTime=parseInt(endYear[0]+endYear[1]+endYear[2]+endDate[0]+endDate[1]+endDate[2]);
        
        if(startTime<nowTime && nowTime<endTime){
            status="进行中";
            //generateHandleBtn(status);
            return status;
        }else if(nowTime<startTime){
            status="未进行";
            //generateHandleBtn(status);
            return status;
        }else{
            status="已结束";
            //generateHandleBtn(status);
            return status;
        }
      }

3,注:由于“活动开始时间”和“活动结束时间”精确到秒,所以当时间<10时,补上0,这样把整个时间拼成最后的变量类似这种“20150311110233”,再去比较判断在不在开始时间和结束时间区间,就不会有误差了;)

 

posted @ 2015-08-19 16:46  abc红泡泡  阅读(169)  评论(0编辑  收藏  举报