欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

wdatepicker 的可选时间范围设置

程序员文章站 2022-06-07 13:17:58
...

wdatepicker 的可选时间范围设置

可选时间为2014年以后 两个时间间隔在一年以内 这个是根据产品需求自己更改的插件 希望可以帮到有需要的朋友。
html页面的代码

    <input id="from" readonly="readonly" autocomplete="off" placeholder="开始日期"
                               class="item-li-content w37 fl bj-times"
                               onclick="WdatePicker({onpicked:function(){getListFormDate()},oncleared:function(){getListClearDate()},maxDate:getFromMaxDate(),minDate:getFromMinDate()})"
                               type="text">
                        <input id="to" readonly="readonly" autocomplete="off" placeholder="结束日期"
                               class="inp-ml30 item-li-content w37 fl bj-times"
                               onclick="WdatePicker({onpicked:function(){getListFormDate()},oncleared:function(){getListClearDate()},minDate:getToMinDate(),maxDate:getToMaxDate(),position:{left:-35,top:0}});"
                               type="text">
                    </p>


  //getListFormDate()  和getListClearDate()  是在input框里面输入内容或者没有内容的时候  选择完成以后触发的事情    

js页面的代码

  Date.prototype.Format = function (fmt) { //author: meizz
      var o = {
          "M+": this.getMonth() + 1, //月份
          "d+": this.getDate(), //日
          "h+": this.getHours(), //小时
          "m+": this.getMinutes(), //分
          "s+": this.getSeconds(), //秒
          "q+": Math.floor((this.getMonth() + 3) / 3), //季度
          "S": this.getMilliseconds() //毫秒
      };
      if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
      for (var k in o)
          if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
      return fmt;
  };
  function getFromMinDate() {
      if (!$dp.$D('to')) {
          return '2014-01-01'
      }
      else {
          var year = ($dp.$D('to').M == 12 && $dp.$D('to').d == 31) ? $dp.$D('to').y :  $dp.$D('to', { y: -1 }).y;
          // var month = ($dp.$D('to').M == 12 && $dp.$D('to').d == 31) ? ($dp.$D('to').y.M < 10 ? '0' + $dp.$D('to').y.M : $dp.$D('to').y.M) : ($dp.$D('to', { y: -1 }).M < 10 ? '0' + $dp.$D('to', { y: -1 }).M : $dp.$D('to', { y: -1 }).M);

          // var year = $dp.$D('to', { y: -1 }).y;

          if($dp.$D('to').M == 12 && $dp.$D('to').d == 31){
              var month = $dp.$D('to', { y: 0,M: 1 }).M < 10 ? '0' + $dp.$D('to', { y: 0,M: 1 }).M : $dp.$D('to', { y: 0,M: 1 }).M;
          }else{
              var month = $dp.$D('to', { y: -1 }).M < 10 ? '0' + $dp.$D('to', { y: -1 }).M : $dp.$D('to', { y: -1 }).M;
          }

          var day = $dp.$D('to', { y: -1 }).d < 10 ? '0' + $dp.$D('to', { y: -1,d:1 }).d : $dp.$D('to', { y: -1 ,d:1}).d;
          if (year < 2014) {
              return '2014-01-01'
          }
          var date = year + '-' + month + '-' + day;
          return date;
      }
  }
  function getFromMaxDate() {
      if (!$dp.$D('to')) {
          return new Date().Format("yyyy-MM-dd");
      }
      else {
          var year = $dp.$D('to').y;
          var month = $dp.$D('to').M < 10 ? '0' + $dp.$D('to').M : $dp.$D('to').M;
          var day = $dp.$D('to').d < 10 ? '0' + $dp.$D('to').d : $dp.$D('to').d;
          var date = year + '-' + month + '-' + day;
          return date;
      }
  }
  function getToMinDate() {
      if (!$dp.$D('from')) {
          return '2014-01-01';
      }
      else {
          var year = $dp.$D('from').y;
          var month = $dp.$D('from').M < 10 ? '0' + $dp.$D('from').M : $dp.$D('from').M;
          var day = $dp.$D('from').d < 10 ? '0' + $dp.$D('from').d : $dp.$D('from').d;
          var date = year + '-' + month + '-' + day;
          return date;
      }

  }

  function getToMaxDate() {
      if (!$dp.$D('from')) {
          return new Date().Format("yyyy-MM-dd");
      } else {
          var year = ($dp.$D('from').M == 1 && $dp.$D('from').d == 1) ? $dp.$D('from', { y: 0 }).y :  $dp.$D('from', { y: 1 }).y;
          if($dp.$D('from').d == 1){
              var month = $dp.$D('from', { y: 1,M:-1 }).M < 10 ? '0' + $dp.$D('from', { y: 1,M:-1 }).M : $dp.$D('from', { y: 1,M:-1 }).M;
          }else{
              var month = $dp.$D('from', { y: 1 }).M < 10 ? '0' + $dp.$D('from', { y: 1 }).M : $dp.$D('from', { y: 1 }).M;
          }
          var day = $dp.$D('from', { y: 1 }).d < 10 ? '0' + $dp.$D('from', { y: 1,d:-1 }).d : $dp.$D('from', { y: 1,d:-1}).d;
          var nowYear = new Date().getFullYear();
          var nowMonth = new Date().getMonth() + 1;
          var nowDay = new Date().getDate();
          if (year > nowYear || (year == nowYear && month > nowMonth) || (year == nowYear && month == nowMonth && day > nowDay)) {
              return new Date().Format("yyyy-MM-dd");
          }
          var date = year + '-' + month + '-' + day;
          return date;
      }

  }