时间插件呢,我以前用的是My97DatePicker,效果如图
最近用的是jeDate,如图
这个插件也是踩坑~~~记录一下
1.选择时间后,再次选择时间,时间会被重置为今天
找到jedate.js中的getCurrValue方法,添加代码
var mats = jet.reMatch(that.format), isEmpty = that.getValue() != "", curVal = [],parmat = that.dlen == 7 ? "hh:mm:ss" : "YYYY-MM" + (that.dlen <= 2 ? "" : "-DD"); //修改Begin(Important!) var result = that.valCell.value; result = result.substr(0, 11); var nowTime = [jet.parse(jet.getDateTime({}), parmat)]; nowTime = nowTime[0]; var time1 = new Date(result).setHours('0'); var time2 = new Date(nowTime).setHours('0'); var nDays = (parseInt((time1 - time2) / 1000 / 3600 / 24)); var redate = { DD: nDays }; //修改End that.selectValue = [jet.parse(jet.getDateTime(redate), parmat)];
2.不是坑,将开始时间设置为结束时间的最小时间
(顺便设置一下时间的初始值)
//页面加载初始化 var InitPageData = function () { jeDate('#text_btime', linkageBeginDate);//初始化开始时间 jeDate('#text_etime', linkageEndDate);//初始化结束时间 } //开始时间 function linkageBeginDate() { $("#text_btime").val(timeFormat().split(" ")[0] + " 00:00:00"); return { theme: { bgcolor: "#4aa5ff", pnColor: "#00DDAA" }, format: 'YYYY-MM-DD hh:mm:ss',//格式 minDate: '1971-01-01 00:00:00', //设定最小日期 onClose: false, value: "1971-01-01 00:00:00", maxDate: function (that) { //that 指向实例对象 var nowMaxDate = "" ? jeDate.nowDate({ DD: 0 }) : $('#text_etime').val(); return nowMaxDate }, //设定最大日期为当前日期 donefun: function (obj) { jeDate("#text_etime", linkageEndDate(false)); } }; } //结束时间 function linkageEndDate(istg) { $("#text_etime").val(timeFormat().split(" ")[0] + " 23:59:59"); return { trigger: istg || "click", theme: { bgcolor: "#4aa5ff", pnColor: "#00DDAA" }, format: 'YYYY-MM-DD hh:mm:ss', onClose: false, isinitVal: true, minDate: function (that) { var nowMinDate = "" ? jeDate.nowDate({ DD: 0 }) : $('#text_btime').val(); return nowMinDate; }, //设定最小日期为当前日期 maxDate: jeDate.nowDate({ DD: 0 }), //设定最大日期为当前日期 }; } //格式化时间 function timeFormat() { var dateTmp = new Date().toJSON(); return new Date(+new Date(dateTmp) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/.[d]{3}Z/, '') }