<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 不同時間范圍選擇時間插件封裝 **位置:** Application\Common\View\cycle_date.html **效果:** ![](https://img.kancloud.cn/16/1f/161ff05d22935b497afca57eae92172e_822x67.png) **View Form 搜索條件中調用:** ### View : `<include file="./Application/Common/View/cycle_date.html" /> ` ### Controller: ```` //傳參數到時間控件控制顯示 //1、今天,2、昨天,3、本周,4、上周,5、本月,6、上月,7、本季、8、上季,9、本年 $this->assign('date',array(1,2,3,4,5,6,7,8,9)); <!--周期時間--> <input class="form-control calendar-icon" placeholder="開始日期" readonly name="start_date" id="date_start" value="{$params.start_date}"> <input class="form-control calendar-icon" placeholder="結束日期" readonly name="end_date" id="date_end" value="{$params.end_date}"> <volist name="date" id="vo"> <if condition="$vo eq 1"> <input class="btn btn-default" type="button" onclick="get_date(1)" value="今天"> </if> <if condition="$vo eq 2"> <input class="btn btn-default" type="button" onclick="get_date(2)" value="昨天"> </if> <if condition="$vo eq 3"> <input class="btn btn-default" type="button" onclick="get_date(3)" value="本周"> </if> <if condition="$vo eq 4"> <input class="btn btn-default" type="button" onclick="get_date(4)" value="上周"> </if> <if condition="$vo eq 5"> <input class="btn btn-default" type="button" onclick="get_date(5)" value="本月"> </if> <if condition="$vo eq 6"> <input class="btn btn-default" type="button" onclick="get_date(6)" value="上月"> </if> <if condition="$vo eq 7"> <input class="btn btn-default" type="button" onclick="get_date(7)" value="本季"> </if> <if condition="$vo eq 8"> <input class="btn btn-default" type="button" onclick="get_date(8)" value="上季"> </if> <if condition="$vo eq 9"> <input class="btn btn-default" type="button" onclick="get_date(9)" value="本年"> </if> </volist> <script> function get_date(type) { switch(type) { // 今日 case 1: var start = dateFtt("yyyy-MM-dd",dateRangeUtil.getCurrentDate()); var end = dateFtt("yyyy-MM-dd",dateRangeUtil.getCurrentDate()); break; // 昨天 case 2: var start = dateFtt("yyyy-MM-dd",dateRangeUtil.getYesterday()); var end = dateFtt("yyyy-MM-dd",dateRangeUtil.getYesterday()); break; // 本周 case 3: var start = dateFtt("yyyy-MM-dd",dateRangeUtil.getCurrentWeek()[0]); var end = dateFtt("yyyy-MM-dd",dateRangeUtil.getCurrentWeek()[1]); break; // 上周 case 4: var start = dateFtt("yyyy-MM-dd",dateRangeUtil.getPreviousWeek()[0]); var end = dateFtt("yyyy-MM-dd",dateRangeUtil.getPreviousWeek()[1]); break; // 本月 case 5: var start = dateFtt("yyyy-MM-dd",dateRangeUtil.getCurrentMonth()[0]); var end = dateFtt("yyyy-MM-dd",dateRangeUtil.getCurrentMonth()[1]); break; // 上月 case 6: var start = dateFtt("yyyy-MM-dd",dateRangeUtil.getPreviousMonth()[0]); var end = dateFtt("yyyy-MM-dd",dateRangeUtil.getPreviousMonth()[1]); break; // 本季 case 7: var start = dateFtt("yyyy-MM-dd",dateRangeUtil.getCurrentSeason()[0]); var end = dateFtt("yyyy-MM-dd",dateRangeUtil.getCurrentSeason()[1]); break; // 上季 case 8: var start = dateFtt("yyyy-MM-dd",dateRangeUtil.getLastSeason()[0]); var end = dateFtt("yyyy-MM-dd",dateRangeUtil.getLastSeason()[1]); break; // 本年 case 9: var start = dateFtt("yyyy-MM-dd",dateRangeUtil.getCurrentYear()[0]); var end = dateFtt("yyyy-MM-dd",dateRangeUtil.getCurrentYear()[1]); break; default: } $('#date_start').val(start); $('#date_end').val(end); } //js時間戳轉換日期格式 function dateFtt(fmt,date) { //author: meizz var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小時 "m+" : date.getMinutes(), //分 "s+" : date.getSeconds(), //秒 "q+" : Math.floor((date.getMonth()+3)/3), //季度 "S" : date.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) fmt=fmt.replace(RegExp.$1, (date.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 two(m){ return m<10?'0'+m:m } /** * 日期范圍工具類 */ var dateRangeUtil = (function () { /*** * 獲得當前時間 */ this.getCurrentDate = function () { return new Date(); }; this.getYesterday = function () { var today = new Date(); var oneday = 1000 * 60 * 60 * 24; return new Date(today - oneday); } /*** * 獲得本周起止時間 */ this.getCurrentWeek = function () { //起止日期數組 var startStop = new Array(); //獲取當前時間 var currentDate = this.getCurrentDate(); //返回date是一周中的某一天 var week = currentDate.getDay(); //返回date是一個月中的某一天 var month = currentDate.getDate(); //一天的毫秒數 var millisecond = 1000 * 60 * 60 * 24; //減去的天數 var minusDay = week != 0 ? week - 1 : 6; //alert(minusDay); //本周 周一 var monday = new Date(currentDate.getTime() - (minusDay * millisecond)); //本周 周日 if (currentDate < (monday.getTime() + (6 * millisecond))){ var sunday = new Date(currentDate); }else {var sunday = new Date(monday.getTime() + (6 * millisecond)); var sunday = new Date(monday.getTime() + (6 * millisecond)); } //添加本周時間 startStop.push(monday); //本周起始時間 //添加本周最后一天時間 startStop.push(sunday); //本周終止時間 //返回 return startStop; }; /*** * 獲得本月的起止時間 */ this.getCurrentMonth = function () { //起止日期數組 var startStop = new Array(); //獲取當前時間 var currentDate = this.getCurrentDate(); //獲得當前月份0-11 var currentMonth = currentDate.getMonth(); //獲得當前年份4位年 var currentYear = currentDate.getFullYear(); //求出本月第一天 var firstDay = new Date(currentYear, currentMonth, 1); //當為12月的時候年份需要加1 //月份需要更新為0 也就是下一年的第一個月 if (currentMonth == 11) { currentYear++; currentMonth = 0; //就為 } else { //否則只是月份增加,以便求的下一月的第一天 currentMonth++; } //一天的毫秒數 var millisecond = 1000 * 60 * 60 * 24; //下月的第一天 var nextMonthDayOne = new Date(currentYear, currentMonth, 1); //求出上月的最后一天 if (currentDate > lastDay) { var lastDay = new Date(nextMonthDayOne.getTime() - millisecond); }else { var lastDay = currentDate; } //添加至數組中返回 startStop.push(firstDay); startStop.push(lastDay); //返回 return startStop; }; /** * 得到本季度開始的月份 * @param month 需要計算的月份 ***/ this.getQuarterSeasonStartMonth = function (month) { var quarterMonthStart = 0; var spring = 0; //春 var summer = 3; //夏 var fall = 6; //秋 var winter = 9; //冬 //月份從0-11 if (month < 3) { return spring; } if (month < 6) { return summer; } if (month < 9) { return fall; } return winter; }; /** * 獲得本季度的起止日期 */ this.getCurrentSeason=function(){ //起止日期數組 var startStop=new Array(); //獲取當前時間 var currentDate=this.getCurrentDate(); //獲得當前月份0-11 var currentMonth=currentDate.getMonth(); //獲得當前年份4位年 var currentYear=currentDate.getFullYear(); //獲得本季度開始月份 var quarterSeasonStartMonth=this.getQuarterSeasonStartMonth(currentMonth); //獲得本季度結束月份 var quarterSeasonEndMonth=quarterSeasonStartMonth+2; //獲得本季度開始的日期 var quarterSeasonStartDate=new Date(currentYear,quarterSeasonStartMonth,1); //獲得本季度結束的日期 var quarterSeasonEndDate=new Date(currentYear,quarterSeasonEndMonth,this.getMonthDays(currentYear, quarterSeasonEndMonth)); if (currentDate < quarterSeasonEndDate) { quarterSeasonEndDate = currentDate; } //加入數組返回 startStop.push(quarterSeasonStartDate); startStop.push(quarterSeasonEndDate); //返回 return startStop; }; /** * 獲得上季度的起止日期 */ this.getLastSeason=function(){ //起止日期數組 var startStop=new Array(); //獲取當前時間 var currentDate=this.getCurrentDate(); //獲得當前月份0-11 var currentMonth=currentDate.getMonth(); //獲得當前年份4位年 var currentYear=currentDate.getFullYear(); //獲得本季度開始月份 var quarterSeasonStartMonth=this.getQuarterSeasonStartMonth(currentMonth)-3; //獲得本季度結束月份 var quarterSeasonEndMonth=quarterSeasonStartMonth+2; //獲得本季度開始的日期 var quarterSeasonStartDate=new Date(currentYear,quarterSeasonStartMonth,1); //獲得本季度結束的日期 var quarterSeasonEndDate=new Date(currentYear,quarterSeasonEndMonth,this.getMonthDays(currentYear, quarterSeasonEndMonth)); //加入數組返回 startStop.push(quarterSeasonStartDate); startStop.push(quarterSeasonEndDate); //返回 return startStop; }; /** * 獲得該月的天數 * @param year年份 * @param month月份 * */ this.getMonthDays = function (year, month) { //本月第一天 1-31 var relativeDate = new Date(year, month, 1); //獲得當前月份0-11 var relativeMonth = relativeDate.getMonth(); //獲得當前年份4位年 var relativeYear = relativeDate.getFullYear(); //當為12月的時候年份需要加1 //月份需要更新為0 也就是下一年的第一個月 if (relativeMonth == 11) { relativeYear++; relativeMonth = 0; } else { //否則只是月份增加,以便求的下一月的第一天 relativeMonth++; } //一天的毫秒數 var millisecond = 1000 * 60 * 60 * 24; //下月的第一天 var nextMonthDayOne = new Date(relativeYear, relativeMonth, 1); //返回得到上月的最后一天,也就是本月總天數 return new Date(nextMonthDayOne.getTime() - millisecond).getDate(); }; /*** * 得到本年的起止日期 * */ this.getCurrentYear = function () { //起止日期數組 var startStop = new Array(); //獲取當前時間 var currentDate = this.getCurrentDate(); //獲得當前年份4位年 var currentYear = currentDate.getFullYear(); //本年第一天 var currentYearFirstDate = new Date(currentYear, 0, 1); if (currentDate > currentYearLastDate) { var currentYearLastDate = new Date(currentYear, 11, 31); }else { var currentYearLastDate = currentDate; } //添加至數組 startStop.push(currentYearFirstDate); startStop.push(currentYearLastDate); //返回 return startStop; }; /** * 返回上一個月的第一天Date類型 * @param year 年 * @param month 月 **/ this.getPriorMonthFirstDay = function (year, month) { //年份為0代表,是本年的第一月,所以不能減 if (month == 0) { month = 11; //月份為上年的最后月份 year--; //年份減1 return new Date(year, month, 1); } //否則,只減去月份 month--; return new Date(year, month, 1); ; }; /** * 獲得上一月的起止日期 * ***/ this.getPreviousMonth = function () { //起止日期數組 var startStop = new Array(); //獲取當前時間 var currentDate = this.getCurrentDate(); //獲得當前月份0-11 var currentMonth = currentDate.getMonth(); //獲得當前年份4位年 var currentYear = currentDate.getFullYear(); //獲得上一個月的第一天 var priorMonthFirstDay = this.getPriorMonthFirstDay(currentYear, currentMonth); //獲得上一月的最后一天 var priorMonthLastDay = new Date(priorMonthFirstDay.getFullYear(), priorMonthFirstDay.getMonth(), this.getMonthDays(priorMonthFirstDay.getFullYear(), priorMonthFirstDay.getMonth())); //添加至數組 startStop.push(priorMonthFirstDay); startStop.push(priorMonthLastDay); //返回 return startStop; }; /** * 獲得上一周的起止日期 * **/ this.getPreviousWeek = function () { //起止日期數組 var startStop = new Array(); //獲取當前時間 var currentDate = this.getCurrentDate(); //返回date是一周中的某一天 var week = currentDate.getDay(); //返回date是一個月中的某一天 var month = currentDate.getDate(); //一天的毫秒數 var millisecond = 1000 * 60 * 60 * 24; //減去的天數 var minusDay = week != 0 ? week - 1 : 6; //獲得當前周的第一天 var currentWeekDayOne = new Date(currentDate.getTime() - (millisecond * minusDay)); //上周最后一天即本周開始的前一天 var priorWeekLastDay = new Date(currentWeekDayOne.getTime() - millisecond); //上周的第一天 var priorWeekFirstDay = new Date(priorWeekLastDay.getTime() - (millisecond * 6)); //添加至數組 startStop.push(priorWeekFirstDay); startStop.push(priorWeekLastDay); return startStop; }; return this; })(); </script> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看