小编这次要给大家分享的是js如何实现动态校验开始结束时间,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

代码作用简介:

开始结束时间,联动,开始时间前后移动,对应结束时间相应变化,时间差30天

html:

<input type="date" placeholder="请输入(From)..." id="txtStartDate" value="${startDate }" onblur="onblurStartDate();" /><input type="date" placeholder="请输入(To)..." id="txtEndDate" value="${endDate }" onblur="onblurEndDate();" />

js:

<script type="text/javascript">/** * 动态校验开始时间 * @returns */function onblurStartDate() {var startDateStr = $("#txtStartDate").val();var nowDate = new Date().toISOString().substring(0, 10); //当前时间截取操作var endDateStr = addDate(startDateStr, 29); if(startDateStr >= nowDate) {alert("开始时间不能大于等于今天!");var endDate = addDate(nowDate, -29);$("#txtStartDate").val(endDate);return;}if(endDateStr >= nowDate) {$("#txtEndDate").val(nowDate);return false;}$("#txtEndDate").val(endDateStr);} /** * 动态校验结束时间 * @returns */function onblurEndDate() {var endDateStr = $("#txtEndDate").val();var nowDate = new Date().toISOString().substring(0, 10); //当前时间截取操作 if(endDateStr > nowDate) {alert("结束时间不能大于今天!");$("#txtEndDate").val(nowDate);var startDate = addDate(nowDate, -29);$("#txtStartDate").val(startDate);return false;}var startDateStr = addDate(endDateStr, -29);$("#txtStartDate").val(startDateStr);} /** * 日期加减法 格式:addDate('2017-01-11',20) * @param date计算开始的日期 * @param days需要加的天数 (正数加,负数减) * @returns 计算后的时间 */function addDate(date, days) {var d = new Date(date);d.setDate(d.getDate() + parseInt(days));var m = d.getMonth() + 1;m = parseInt(m) < 10 &#63; ('0' + m) : m;var day = parseInt(d.getDate()) < 10 &#63; ('0' + d.getDate()) : d.getDate();return d.getFullYear() + '-' + m + '-' + day;}</script>

java后台:

/** * 页面初始化+指定时间 * @param request * @param response * @return */@RequestMapping(value = { "/pageInit.do" })protected String pageInit(final HttpServletRequest request, final HttpServletResponse response) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");request.setAttribute("startDate", sdf.format(TimeUtils.addDate(new Date(), -29)));request.setAttribute("endDate", sdf.format(new Date()));return "taskManage/taskindex";}

看完这篇关于js如何实现动态校验开始结束时间的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。