页面初始化时,获取当前时间,设置开始时间、结束时间的最大值、最小值。
当用户选择开始时间后,触发change事件,获取用户选择的时间+7,设置结束时间的最大值,最小值
其中方法FormatDate 是使用其他博主的 然而我已经忘了是用的哪位的了。。。sorry。。。看到的话 请联系我 我给加上跳转链接
题外话:我用的时间控件是 唯独在最重要的移动端微信浏览器上没达到预期效果(手动微笑)
完整代码如下
var minday = new Date(); //获取当前时间
var maxday = new Date(minday.getTime()+604800000); //毫秒计算:7*24*60*60*1000
minday = FormatDate(minday.getTime());
maxday = FormatDate(maxday.getTime());
//设置开始时间最小值为当日,最大值为当日+7
$("#startTime").attr("min",minday);
$("#startTime").attr("max",maxday);
//设置结束时间最小值为当日,最大值为当日+7
$("#endTime").attr("min",minday);
$("#endTime").attr("max",maxday);
//开始时间状态改变时间
$("#startTime").change(function(){
var startday=new Date($(this).val()); //获取用户选择的开始时间
startday.setDate(startday.getDate()+7); //开始时间+7天
startday=FormatDate(startday); //时间转换为YYYY-MM-DD格式
$("#endTime").attr("max",startday); //最大时间为开始时间+7天
$("#endTime").attr("min",$(this).val()); //最小时间为用户选择的开始时间
});
//转换时间类型为 yyyy-mm-dd
function FormatDate (strTime) {
var date = new Date(strTime);
var formatedMonth = ("0" + (date.getMonth() + 1)).slice(-2);
var formatedDate = ("0" + (date.getDate())).slice(-2);
return date.getFullYear()+"-"+formatedMonth+"-"+formatedDate;
}