import util from "../../utils/util"; const date = new Date() const days = ["今天", "明天"] // 初始化日期 for (var i = 2; i <= 15; i++) { var date1 = new Date(date); date1.setDate(date.getDate() + i); var md = (date1.getMonth() + 1) + "-" + date1.getDate(); days.push(md); } function getDistanceSpecifiedTime(yyyy,mth,dd) { // 指定日期和时间 var EndTime = new Date(yyyy,mth,dd); // 当前系统时间 var NowTime = new Date(); var NowTimeday = NowTime.getDay(); var EndTimeday = EndTime.getDay(); var t = EndTime.getTime() - NowTime.getTime(); var d = Math.ceil(t / 1000 / 60 / 60 / 24); console.log(NowTimeday,EndTimeday); if(NowTimeday==EndTimeday){ d=0; }else if(NowTimeday!=EndTimeday&&d==0){ d=1 } // var h = Math.floor(t / 1000 / 60 / 60 % 24); // var m = Math.floor(t / 1000 / 60 % 60); // var s = Math.floor(t / 1000 % 60); // var html = d + " 天" + h + " 时" + m + " 分" + s + " 秒"; return d; } Component({ /** * 组件的属性列表 */ properties: { nextOpenTime:{ type:String, value:'' } }, /** * 组件的初始数据 */ data: { days, hours: [], minutes: [], minute: 2, hour: 8, day: 2, multiIndex: [0, 0, 0], }, attached() { this.loadTime("today",0); if(this.data.nextOpenTime){ let nextHour=this.data.nextOpenTime.substring(8,10); let nextMin=this.data.nextOpenTime.substring(10,12); var day = getDistanceSpecifiedTime(this.data.nextOpenTime.substring(0,4),this.data.nextOpenTime.substring(4,6)-1,this.data.nextOpenTime.substring(6,8)); if(day == 0){ let currentHours = date.getHours(); let currentMinute = date.getMinutes(); this.setData({multiIndex:[0,nextHour - currentHours,currentMinute-nextMin]}) }else if(day == 1){ this.loadTime(); this.setData({multiIndex:[1,Number(nextHour),Number(nextMin)]}); }else{ console.log(day,"day") this.loadTime(); this.setData({multiIndex:[day,nextHour,nextMin]}); } } console.log(this.data.multiIndex); }, /** * 组件的方法列表 */ methods: { bindChange(e) { const val = e.detail.value; console.log(e) if (val[0] !== 0) { this.loadTime(); }else{ this.loadTime("today",e.detail.value[1]); } this.setData({ day: this.data.days[val[0]], hour: this.data.hours[val[1]], minute: this.data.minutes[val[2]] }) this.sendDate(); }, fillZore(value){ if(value<10){ value = 0+value } return value }, // 发送数据 sendDate(){ var monthDay=this.data.day; var dayHour=this.data.hour; var dayMinute=this.data.minute; var monthDaystring='2020'; if ( monthDay=== "今天") { var month = date.getMonth() + 1; var day = date.getDate(); monthDaystring=monthDaystring+util.PrefixZero(month)+util.PrefixZero(day)+util.PrefixZero(dayHour)+util.PrefixZero(dayMinute); monthDay = monthDay + dayHour +':'+dayMinute; } else if (monthDay === "明天") { var date1 = new Date(date); date1.setDate(date.getDate() + 1); monthDaystring=monthDaystring+util.PrefixZero(date1.getMonth() + 1)+util.PrefixZero(date1.getDate())+util.PrefixZero(dayHour)+util.PrefixZero(dayMinute); monthDay = monthDay + dayHour +':'+dayMinute; } else { var month = monthDay.split("-")[0]; // 返回月 var day = monthDay.split("-")[1]; // 返回日 monthDaystring=monthDaystring+util.PrefixZero(month)+util.PrefixZero(day)+util.PrefixZero(dayHour)+util.PrefixZero(dayMinute); monthDay = month + "月" + day + "日"+ dayHour +':'+dayMinute; } monthDaystring=monthDaystring+'00'; this.triggerEvent('timeChange', {monthDay,monthDaystring}); }, loadTime(value,now) { let hours=[]; let minutes=[]; var startHours = 0; var startMinute = 0; if(value==="today"){ var currentHours = date.getHours(); var currentMinute = date.getMinutes(); startHours=currentHours; startMinute=now===0?currentMinute:0; } // 初始化小时 for (let i = startHours; i <= 23; i++) { if (i < 10) { hours.push('0' + i) } else { hours.push(i) } } // 初始化分钟 for (let i = startMinute; i <= 59; i++) { if (i < 10) { minutes.push('0' + i) } else { minutes.push(i) } } var data={ hours:hours, minutes:minutes, } this.setData(data) }, } })