先上效果图
实现了当天时间(现在时间点往后推半个小时直到当天的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