u-View之u-select组件多级联动(实现自定义时间选择器)


先上效果图

实现了当天时间(现在时间点往后推半个小时直到当天的23:30),往后一天从00:00开始,也可以自定义实现效果

 
 这里用到了moment.js插件,插件引入就靠你们自个了.

//增加天数 
dateFormatNormal_daySub(day){
// return moment().add(month, 'month').format('YYYY-MM-DD HH:mm:ss') return moment().add(day, "days").format('YYYY-MM-DD HH:mm:ss') },
//自定义格式(分:秒) dateFormatNormal_str_date_hhmm() {
return moment().format('HH:mm'); },

 

//判断两个时间相差多少天
  spaceDays(start,end){
    let start_time=moment(start).format('YYYY-MM-DD HH:mm:ss');
    let end_time=moment(end).format('YYYY-MM-DD HH:mm:ss');
    // console.log(start,end);
    return moment(end_time).diff(moment(start_time), 'days')
  },
//获取一天之内的每半个小时
formatTodayHalfHours(nowDate = +new Date()) { var timeStamp = new Date(new Date().setHours(0, 0, 0, 0)); var dateList = []; while (nowDate > timeStamp) { var hour = new Date(nowDate).getHours() < 10 ? '0' + new Date(nowDate).getHours() : new Date(nowDate).getHours(); var minute = new Date(nowDate).getMinutes() < 31 ? '00' : '30'; dateList.unshift(hour + ':' + minute); nowDate -= 30 * 60 * 1000 } return [...new Set(dateList)] },

 

//代码实现,适合新手观看
let obj_b = [],d_arr = []; let arr_new = dateformat.formatTodayHalfHours(+new Date(dateformat.dateFormat_daySub_yy(1))); for (var i = 0; i <= arr_new.length; i++) { console.log("日期", dateformat.dateFormat_daySub(i)); let obj_c = { value: i, label: arr_new[i] }; obj_b.push(obj_c) let obj = { value: i, label: (dateformat.dateFormat_daySub(i) + " ") + (dateformat.dateFormat_daySub(i) == dateformat.dateFormat_daySub(0) ? ('今天') : dateformat.dateFormat_daySub(i) == dateformat .dateFormat_daySub(1) ? ('明天') : dateformat.dateFormat_daySub(i) == dateformat .dateFormat_daySub(2) ? ('后天') : dateformat.dateFormatOptimize_week(dateformat .dateFormat_daySub(i))), children: obj_b }; arr.push(obj) } let obj_cc = { value: 0, label: '尽快到达' }; let obj_ccc = { value: 0, label: '', children:[obj_cc] }; d_arr.push(obj_cc) arr.unshift(obj_ccc) arr[1].children.map((item, index) => { if (dateformat.dateFormatNormal_str_date_hhmm() < item.label) { d_arr.push(item) console.log("输出今天还剩多少小时",d_arr); } }) d_arr.map((item,index)=>{ if(item.label.indexOf('尽快到达')>=0){ d_arr.splice(0,1) } }) arr[1].children = d_arr that.list = arr

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM