Wdatepicker
官方文檔:
http://www.yo28.cn/baike.php?s=wdatepickerapi%E6%96%87%E6%A1%A3
小坑:
限制時間選擇日期之后,即最大最小日期。
遇到報:
日期格式錯誤插件會報這個。
但是設置默認日期,第一次選擇的時候,格式校驗的時候報錯,就得修改。
問題原因:
選擇日期的時候會進行時間格式,以及時間最大最小范圍校驗。
限制日期原因。解決辦法日期往后調1小時。+
設置時間默認值:只需給對應的輸入框value賦值即可,注意日期格式的正確性。
使用參考:https://blog.csdn.net/xiangff_csdn/article/details/78688506
使用參考:https://www.cnblogs.com/zj0208/p/6893218.html
使用參考:https://blog.csdn.net/nnn_net/article/details/50340929
需求---根據情況而定。只能選擇100天以內的日期。
Date.prototype.Format = function (fmt) { //輸出算出后的日期 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; } Date.prototype.addDays = function (d) { //以天為單位計算 + or - this.setDate(this.getDate() + d); }; //獲取當前時間 function getDetailTime(params){ var nowDate = new Date(); var year = nowDate.getFullYear(); var month = nowDate.getMonth() + 1; month = month<10? '0'+month:month; var day = nowDate.getDate(); day = day<10? '0'+day:day; var hour = nowDate.getHours(); hour = hour<10? '0'+hour:hour; var minutes = nowDate.getMinutes(); minutes = minutes<10? '0'+minutes:minutes; var seconds = nowDate.getSeconds(); seconds = seconds<10? '0'+seconds:seconds; var time = (hour+1)+":"+minutes+":"+seconds; if(params === 1){ return year+'-'+month+'-'+day+" "+hour+":"+minutes+":"+seconds }else{ return time; } }; //初始化日期起 $("#createTimeStart").val(getStartMinTime("#createTimeEnd") + " " + getDetailTime()); // //初始化日期止 $("#createTimeEnd").val(getDetailTime(1)); //開始時間----最小 function getStartMinTime(params){ if($(params).val() === ""){ var now = new Date(); now.addDays(-99); var getNowTime = now.Format("yyyy-MM-dd"); //當前時間---止沒選 return getNowTime; }else{ var now = new Date($(params).val().split(" ")[0].split("-").join("/")); now.addDays(-99); var getNowTime = now.Format("yyyy-MM-dd"); //當前時間 return getNowTime; } }; //start最大時間 function getStartMaxTime(params){ if($(params).val()){ return $(params).val(); }else{ return "%y-%M-%d"; } }; //end最小時間 function getEndMinTime(params){ var endParams = ""; if(params === "#startTimeNow"){ endParams = "#createTimeEnd" }else if(params === "#useTimeStart"){ endParams = "#useTimeEnd" }else if(params === "#statementTimeStart"){ endParams = "#statementTimeEnd" }else if(params ==="#inactiveTimeStart"){ endParams = "#inactiveTime" } if($(params).val() === ""){ return getStartMinTime($(endParams)); }else{ return $(params).val(); }; }; //end最大時間 function getEndMaxTime(params){ if($(params).val() === ""){ return "%y-%M-%d"; }else{ var now = new Date($(params).val().split(" ")[0].split("-").join("/")); now.addDays(99); var getTime = now.Format("yyyy-MM-dd"); //當前時間 return getTime; } }; //起點日期 function firstTime(params){ WdatePicker({ dateFmt: 'yyyy-MM-dd HH:mm:ss', maxDate: getStartMaxTime(params), minDate: getStartMinTime(params), }); }; //終止日期 function endTime(params){ WdatePicker({ dateFmt: 'yyyy-MM-dd HH:mm:ss', maxDate: getEndMaxTime(params), minDate: getEndMinTime(params), }); }; //起日期 $("#createTimeStart").click(function(){ firstTime("#createTimeEnd"); }); //止日期 $("#createTimeEnd").click(function(){ endTime("#createTimeStart") }); //起日期 $("#useTimeStart").click(function(){ firstTime("#useTimeEnd") }); //止日期 $("#useTimeEnd").click(function(){ endTime("#useTimeStart") }); //起日期 $("#enterAccountTimeStart").click(function(){ firstTime("#enterAccountTimeEnd") }); //止日期 $("#enterAccountTimeEnd").click(function(){ endTime("#enterAccountTimeStart") }); //起日期 $("#inactiveTimeStart").click(function(){ firstTime("#inactiveTime") }); //止日期 $("#inactiveTime").click(function(){ endTime("#inactiveTimeStart") }); //起日期 $("#statementTimeStart").click(function(){ firstTime("#statementTimeEnd") }); //止日期 $("#statementTimeEnd").click(function(){ endTime("#statementTimeStart") });
...............
Date.prototype.Format = function (fmt) { 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; } Date.prototype.addDays = function (d) { this.setDate(this.getDate() + d); }; Date.prototype.addWeeks = function (w) { this.addDays(w * 7); }; Date.prototype.addMonths = function (m) { var d = this.getDate(); this.setMonth(this.getMonth() + m); if (this.getDate() < d) this.setDate(0); }; Date.prototype.addYears = function (y) { var m = this.getMonth(); this.setFullYear(this.getFullYear() + y); if (m < this.getMonth()) { this.setDate(0); } }; var now = new Date('1970/01/01'); //注意日期格式 now.addDays(DateDiffNum);//加減日期操作 alert(now.Format("yyyy-MM-dd"));
參考:https://blog.csdn.net/ljw_jiawei/article/details/80421316