自定义laydate

需求:项目需要展示每周的时间段,比如:(2023-07-24~2023-07-30)

自定义的效果图:

实现的代码:

let el=$('#date') // <input type="text" class="layui-input" id="date">
function customValue(value) {
    if (value != "" && value.length > 0) {
	    let today = new Date(value.substring(0, 10));
		let weekday = today.getDay();
		let monday;
		let sunday;
		if (weekday == 0) {
		    monday = new Date(1000 * 60 * 60 * 24 * (weekday - 6) + today.getTime());
		} else {
			monday = new Date(1000 * 60 * 60 * 24 * (1 - weekday) + today.getTime());
		}
		if (weekday == 0) {
			sunday = today;
		} else {
			sunday = new Date(1000 * 60 * 60 * 24 * (7 - weekday) + today.getTime());
		}
		let month = monday.getMonth() + 1;
		if (month < 10) {
		    month = "0" + month;
		}
		let day1 = monday.getDate();
		    if (day1 < 10) {
		        day1 = "0" + day1;
		    }
		let start = "" + monday.getFullYear() + "-" + month + "-" + day1;
		let month2 = sunday.getMonth() + 1;
		if (month2 < 10) {
		    month2 = "0" + month2;
		}
		let day2 = sunday.getDate();
		if (day2 < 10) {
		    day2 = "0" + day2;
		}
		let end = "" + sunday.getFullYear() + "-" + month2 + "-" + day2;
		ele.val(start + "~" + end)
		return start + "~" + end
	} else {
		ele.val('');
	}
}

laydate.render({
	elem: '#test1',
	type: 'date',
	format: "yyyy-MM-dd~yyyy-MM-dd",
	btns: ['clear', 'confirm'],
	done: function (value, date, endDate) {
	    el.val(customValue(value))
					
	}

});

猜你喜欢

转载自blog.csdn.net/qq_41964720/article/details/131982299