欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js 动态校验开始结束时间的实现代码

程序员文章站 2022-03-20 17:47:02
很多时候要动态校验开始结束时间,每次都要写一次,太麻烦,以备后面拷贝使用,代码作用简介:开始结束时间,联动,开始时间前后移动,对应结束时间相应变化,时间差30天html:

很多时候要动态校验开始结束时间,每次都要写一次,太麻烦,以备后面拷贝使用,

代码作用简介:

开始结束时间,联动,开始时间前后移动,对应结束时间相应变化,时间差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 ? ('0' + m) : m;
	var day = parseint(d.getdate()) < 10 ? ('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 动态校验开始结束时间的文章就介绍到这了,更多相关js 动态校验时间内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!