jsp页面日期控件的使用

jsp页面日期属性
注:jsp页面需引入scoutDatePicker.js与laydate.js
<tr>
					<td class="width-15 active"><label class="pull-right">开始时间:</label></td>
					<td class="width-35">
					<input id="beginDate" name="beginDate" type="text" maxlength="20" class="laydate-icon form-control layer-date "
						value="<fmt:formatDate value="${leave.beginDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
					</td>
					<td class="width-15 active"><label class="pull-right">结束时间:</label></td>
					<td class="width-35">
					<input id="endDate" name="endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date "
						value="<fmt:formatDate value="${leave.endDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
					</td>
				</tr>

 

//scoutDatePicker.js
$(document).ready(function() {
     var start_time = {
	   	  elem: '#beginDate',	 // 目标元素
	   	  event: 'focus',		 // 响应事件
	   	  format: 'YYYY-MM-DD hh:mm:ss',	 // 日期格式
	   	  //min: laydate.now(),		//最小日期
	   	  max: '2099-06-15 23:59:59', //最大日期
	   	  festival: true, // 显示节日
		  istime: true,		 // 显示时分秒
	    
	   	  choose: function(dates){     //回调函数
	   		   var cur = strToDate(dates);   //将字符串转换为日期
	
	   		   // 开始日选好后,重置结束日的最小日期为开始日
	   		   end_time.min = convertDate2String(cur);
	   		   //将结束日的初始值设定为开始日
	   		   end_time.start = convertDate2String(cur);
	   	  }
     };
    
     var end_time = {
	   	  elem: '#endDate',		 // 目标元素
	   	  event: 'focus',		 // 响应事件
	   	  format: 'YYYY-MM-DD hh:mm:ss',	 // 日期格式
	   	  min: laydate.now(),    //设置最小日期
	   	  max: '2099-06-15 23:59:59',	 // 最大日期
	   	  festival: true, // 显示节日
		  istime: true,		 // 显示时分秒
	
	   	  choose: function(dates){		//回调函数
	   		   var cur = strToDate(dates);
	   		 
	   		   // 结束日选好后,重置开始日的最大日期结束日期
	   		   start_time.max = convertDate2String(cur);
	   	  }
     };


     laydate(start_time);
     laydate(end_time);
});


/**
*
* @function :格式化日期字符串
*
* @param date:日期
*
*/
function convertDate2String(date){
	//获取年份
	var year = date.getFullYear();


	//获取月份,若月份为单数月份,则在月份前补0
	var month = (date.getMonth() + 1).toString();
	if(month.length < 2){
		month = "0" + month;
	}


	//获取日期,若日期为单数日期,则在日期前补0
	var day = date.getDate().toString();
	if(day.length < 2){
		day = "0" + day;
	}


	//获取小时,若小时为单数,则在小时前补0
	var hour = date.getHours().toString();
	if(hour.length < 2){
		hour = "0" + hour;
	}


	//获取分钟,若分钟数为单数,则在分钟数前补0
	var minute = date.getMinutes().toString();
	if(minute.length < 2){
		minute = "0" + minute;
	}


	//获取秒数,若秒数为单数,则在秒数前补0
	var second = date.getSeconds().toString();
	if(second.length < 2){
		second = "0" +second;
	}


	//拼接日期字符串,格式:yyyy-MM-dd HH:mm:ss
	var date_time = year + ":" + month + ":" + day + " " + hour + ":" + minute + ":" + second;


	return date_time;
}
//字符串转换为日期
function strToDate(date){
	return new Date(date.replace(/-/g,"/"));
}

想get更多测试小技能,记得扫码关注公众号哦!!!

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JSP 中实现日期控件,可以使用第三方框架或者自己编写 JavaScript 实现。以下是一个简单的示例代码: 1. 借助第三方框架 使用第三方框架可以简化日期控件的实现过程,常见的框架有 jQuery UI、Bootstrap Datepicker 等。以 jQuery UI 为例: 首先,在 jsp 页面中引入 jQuery 库和 jQuery UI 库: ``` <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script> <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> ``` 然后,在需要使用日期控件的 input 标签中添加以下代码: ``` <input type="text" id="datepicker"> ``` 最后,在 JavaScript 中实现日期控件: ``` $( function() { $( "#datepicker" ).datepicker(); } ); ``` 2. 自己编写 JavaScript 实现 如果不想使用第三方框架,也可以自己编写 JavaScript 实现。以下是一个简单的示例代码: 在 jsp 页面中添加以下代码: ``` <input type="text" id="datepicker"> ``` 在 JavaScript 中实现日期控件: ``` var datepicker = document.getElementById("datepicker"); datepicker.addEventListener("focus", function() { var datePickerDiv = document.createElement("div"); datePickerDiv.setAttribute("id", "datePickerDiv"); var currentDate = new Date(); var currentYear = currentDate.getFullYear(); var currentMonth = currentDate.getMonth() + 1; var currentDay = currentDate.getDate(); var yearSelect = "<select id='yearSelect'>"; for (var i = currentYear - 10; i <= currentYear + 10; i++) { yearSelect += "<option value='" + i + "'>" + i + "</option>"; } yearSelect += "</select>"; var monthSelect = "<select id='monthSelect'>"; for (var i = 1; i <= 12; i++) { var monthText = i < 10 ? "0" + i : i; monthSelect += "<option value='" + i + "'>" + monthText + "</option>"; } monthSelect += "</select>"; var daySelect = "<select id='daySelect'>"; for (var i = 1; i <= 31; i++) { var dayText = i < 10 ? "0" + i : i; daySelect += "<option value='" + i + "'>" + dayText + "</option>"; } daySelect += "</select>"; datePickerDiv.innerHTML = yearSelect + monthSelect + daySelect; datePickerDiv.style.position = "absolute"; datePickerDiv.style.left = datepicker.offsetLeft + "px"; datePickerDiv.style.top = datepicker.offsetTop + datepicker.offsetHeight + "px"; datePickerDiv.style.backgroundColor = "#fff"; datePickerDiv.style.border = "1px solid #ccc"; datePickerDiv.style.padding = "5px"; document.body.appendChild(datePickerDiv); var yearSelect = document.getElementById("yearSelect"); var monthSelect = document.getElementById("monthSelect"); var daySelect = document.getElementById("daySelect"); yearSelect.value = currentYear; monthSelect.value = currentMonth; daySelect.value = currentDay; yearSelect.addEventListener("change", function() { setDays(); }); monthSelect.addEventListener("change", function() { setDays(); }); function setDays() { var year = yearSelect.value; var month = monthSelect.value; var day = daySelect.value; var daysInMonth = new Date(year, month, 0).getDate(); daySelect.innerHTML = ""; for (var i = 1; i <= daysInMonth; i++) { var dayText = i < 10 ? "0" + i : i; daySelect.innerHTML += "<option value='" + i + "'>" + dayText + "</option>"; } if (day > daysInMonth) { daySelect.value = daysInMonth; } else { daySelect.value = day; } } function hideDatePicker() { datePickerDiv.parentNode.removeChild(datePickerDiv); } yearSelect.focus(); yearSelect.select(); yearSelect.addEventListener("blur", function() { hideDatePicker(); }); monthSelect.addEventListener("blur", function() { hideDatePicker(); }); daySelect.addEventListener("blur", function() { hideDatePicker(); }); }); ``` 以上代码实现了一个简单的日期控件,包含年、月、日三个下拉框,用户选择日期后会自动填充到 input 标签中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

畅快的小世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值