JS实现时间选择器

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>

推荐阅读

    学习写字楼新选择6000元主流配置

    学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e

    玩游戏,i7/i5如何选择

    玩游戏,i7/i5如何选择,,CPU和显卡都在不断更新,每年都有越来越多的性能和特点,但它不一定对每个球员的必要。作为最强的英特尔旗舰处理器酷睿

    自己配置电脑选择cpu|电脑配置怎样选

    自己配置电脑选择cpu|电脑配置怎样选,,电脑配置怎样选买笔记本电脑主要看CPU、显卡、主板、内存、硬盘等硬件的性能参数,当然最关键的是考

    2010年底DIY硬件总结和安装参考

    2010年底DIY硬件总结和安装参考,,它似乎只是一眨眼的功夫从过去的最后一眼。看看现在的岗位似乎就在昨天,但看看当年的内容是真的走了,如果

    499元SNB性价比ASLp61t板新的选择建议

    499元SNB性价比ASLp61t板新的选择建议,,H61的产品由于价格优势,也可以适应和Turbo SNB发布高清解码和游戏性能已成为最后的主流价格非常优

    fcpx快捷键大全|fcpx选择快捷键

    fcpx快捷键大全|fcpx选择快捷键,,fcpx选择快捷键快捷键是T或者按俩下T 。fcpx所有快捷键先单独试下每个这两个键位,不开任何程序的情况下

    amd设置u盘启动|amd选择启动盘

    amd设置u盘启动|amd选择启动盘,,1. amd选择启动盘设置U盘启动详细如下:1、用【u深度u盘启动盘制作工具】制作u启动盘后,启动电脑,在进入开机