好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

JS实现时间选择器

本文实例为大家分享了JS实现时间选择器的具体代码,供大家参考,具体内容如下

dateTime.js

function withData(param) {
? return param < 10 ? '0' + param : '' + param;
}
function getLoopArray(start, end) {
? var start = start || 0;
? var end = end || 1;
? var array = [];
? for (var i = start; i <= end; i++) {
? ? array.push(withData(i));
? }
? return array;
}
function getMonthDay(year, month) {
? var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), array = null;

? switch (month) {
? ? case '01':
? ? case '03':
? ? case '05':
? ? case '07':
? ? case '08':
? ? case '10':
? ? case '12':
? ? ? array = getLoopArray(1, 31)
? ? ? break;
? ? case '04':
? ? case '06':
? ? case '09':
? ? case '11':
? ? ? array = getLoopArray(1, 30)
? ? ? break;
? ? case '02':
? ? ? array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28)
? ? ? break;
? ? default:
? ? ? array = '月份格式不正确,请重新输入!'
? }
? return array;
}
function getNewDateArry() {
? // 当前时间的处理
? var newDate = new Date();
? var year = withData(newDate.getFullYear()),
? ? mont = withData(newDate.getMonth() + 1),
? ? date = withData(newDate.getDate()),
? ? hour = withData(newDate.getHours()),
? ? minu = withData(newDate.getMinutes()),
? ? seco = withData(newDate.getSeconds());

? return [year, mont, date, hour, minu, seco];
}
function dateTimePicker(startYear, endYear, date) {
? // 返回默认显示的数组和联动数组的声明
? var dateTime = [], dateTimeArray = [[], [], [], [], [], []];
? var start = startYear || 1978;
? var end = endYear || 2100;
? // 默认开始显示数据
? var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
? // 处理联动列表数据
? /*年月日 时分秒*/
? dateTimeArray[0] = getLoopArray(start, end);
? dateTimeArray[1] = getLoopArray(1, 12);
? dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
? dateTimeArray[3] = getLoopArray(0, 23);
? dateTimeArray[4] = getLoopArray(0, 59);
? dateTimeArray[5] = getLoopArray(0, 59);

? dateTimeArray.forEach((current, index) => {
? ? dateTime.push(current.indexOf(defaultDate[index]));
? });? return {
? ? dateTimeArray: dateTimeArray,
? ? dateTime: dateTime
? }
}

实现实例

<!DOCTYPE html>

<html>
<head>
? ? <meta name="viewport" content="width=device-width" />
? ? <title>Index</title>
? ??
? ?<!-- 引用dateTimePicker.js -->
? ? <script src="~/Scripts/dateTime.js"></script>
? ??
? ? <script>
? ? ? ? window.onload = function () {
? ? ? ? ? ? var stryear = 2000;?? ?//设置开始时间2000年
? ? ? ? ? ? ?var endyear = 2060;?? ?//设置结束时间2060年
? ? ? ? ? ? var date = dateTimePicker(stryear,endyear);?? ?//调用dateTimePicker方法获取时间(开始时间,结束时间)

?? ??? ??? ?//定义日期时间
? ? ? ? ? ? var year = date.dateTimeArray[0];?? ?//年
? ? ? ? ? ? var month = date.dateTimeArray[1];//月
? ? ? ? ? ? var day = date.dateTimeArray[2];//日
? ? ? ? ? ? var time = date.dateTimeArray[3];//时
? ? ? ? ? ? var minute = date.dateTimeArray[4];//分
? ? ? ? ? ? var second = date.dateTimeArray[5];//秒


?? ??? ??? ?//将日期时间放入对应的select中
? ? ? ? ? ? var yearInner = "";
? ? ? ? ? ? var monthInner = "";
? ? ? ? ? ? var dayInner = "";
? ? ? ? ? ? var timeInner = "";
? ? ? ? ? ? var minuteInner = "";
? ? ? ? ? ? var secondInner = "";
? ? ? ? ? ? //年
? ? ? ? ? ? for (var i = 0; i < year.length; i++) {
? ? ? ? ? ? ? ? yearInner += '<option>' + year[i] + '</option>'
? ? ? ? ? ? }
? ? ? ? ? ? document.getElementById("yearSelect").innerHTML = yearInner;
? ? ? ? ? ? //月
? ? ? ? ? ? for (var i = 0; i < month.length; i++) {
? ? ? ? ? ? ? ? monthInner += '<option>' + month[i] + '</option>'
? ? ? ? ? ? }
? ? ? ? ? ? document.getElementById("monthSelect").innerHTML = monthInner;
? ? ? ? ? ? //日
? ? ? ? ? ? for (var i = 0; i < day.length; i++) {
? ? ? ? ? ? ? ? dayInner += '<option>' + day[i] + '</option>'
? ? ? ? ? ? }
? ? ? ? ? ? document.getElementById("daySelect").innerHTML = dayInner;
? ? ? ? ? ? //时
? ? ? ? ? ? for (var i = 0; i < time.length; i++) {
? ? ? ? ? ? ? ? timeInner += '<option>' + time[i] + '</option>'
? ? ? ? ? ? }
? ? ? ? ? ? document.getElementById("timeSelect").innerHTML = timeInner;
? ? ? ? ? ? //分
? ? ? ? ? ? for (var i = 0; i < minute.length; i++) {
? ? ? ? ? ? ? ? minuteInner += '<option>' + minute[i] + '</option>'
? ? ? ? ? ? }
? ? ? ? ? ? document.getElementById("minuteSelect").innerHTML = minuteInner;
? ? ? ? ? ? //秒
? ? ? ? ? ? for (var i = 0; i < second.length; i++) {
? ? ? ? ? ? ? ? secondInner += '<option>' + second[i] + '</option>'
? ? ? ? ? ? }
? ? ? ? ? ? document.getElementById("secondSelect").innerHTML = secondInner;
? ? ? ? }
? ? </script>
</head>
<body>
? ?<div>
? ? ? <select id="yearSelect"></select>
? ? ? ?<span>-</span>
? ? ? ?<select id="monthSelect"></select>
? ? ? ?<span>-</span>
? ? ? ?<select id="daySelect"></select>
? ? ? ?<br />
? ? ? ?<select id="timeSelect"></select>
? ? ? ?<span>:</span>
? ? ? ?<select id="minuteSelect"></select>
? ? ? ?<span>:</span>
? ? ? ?<select id="secondSelect"></select>
? ?</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

查看更多关于JS实现时间选择器的详细内容...

  阅读:34次