小程序时间选择器自定义选择时间范围,比如预约,只能预约一周之内的,这就涉及获取一周后的时间了(点击查看)


wxml代码
<!-- start="{{startDate}}" end="{{endDate}}" 这个代码就是时间选择器的范围 -->
<view class="dates">
<picker mode="date" value="{{dates}}" start="{{startDate}}" end="{{endDate}}" bindchange="bindDateChange">
<view class="picker">
{{dates}}
</view>
<input name="dates" class="width2" value="{{dates}}" hidden='true'/>
</picker>
<text decode="{{true}}">  </text>
<picker mode="time" value="{{times}}" start="{{startTime}}" end="23:59" bindchange="bindTimeChange">
<view class="picker" name="times">
{{times}}
</view>
<input name="times" class="width2" value="{{times}}" hidden='true'/>
</picker>
</view>js代码
//点击时间组件确定事件
bindTimeChange: function (e) {
console.log(e.detail.value)
this.setData({
times: e.detail.value
})
},
//点击日期组件确定事件
bindDateChange: function (e) {
console.log(e.detail.value)
var startTime = this.data.startTime
var times = this.data.times
if (this.data.todays != e.detail.value){
startTime = "00:00"
}else{
startTime = this.data.todayt
times = this.data.todayt
}
this.setData({
dates: e.detail.value,
startTime: startTime,
times: times
})
},
getNowTime: function () {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
//如果需要时分秒,就放开
var h = now.getHours();
var day = now.getDate();
var m = now.getMinutes();
//var s = now.getSeconds();
var formatDate = year + '-' + month + '-' + day + ' ' + h + ':' + m /*+ ':' + s*/;
console.log('当前时间', formatDate)
var formatDates = formatDate.split(' ');
console.log(formatDates);
this.setData({
todays: formatDates[0],
todayt: formatDates[1],
dates: formatDates[0],
times: formatDates[1],
startDate: formatDates[0],
endDate: this.funDate(7),
startTime: formatDates[1]
});
},
funDate:function (num) {
var date1 = new Date();
//今天时间
var time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate()
console.log(time1);
var date2 = new Date(date1);
date2.setDate(date1.getDate() + num);
//num是正数表示之后的时间,num负数表示之前的时间,0表示今天
var time2 = date2.getFullYear() + "-" + (date2.getMonth() + 1) + "-" + date2.getDate();
console.log(time2);
return time2;
},
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号