小程序日年月日加减
小程序开发过程中发现需要运用到上一日,下一日,上一月,下一月这些功能,网上看了太复杂不想去理解,自己写了一个记录下来。
样式
直接上代码图:
<view class="item time">
<view class="up" bindtap="reduceDay">上一日</view>
<view class="date">
<picker mode="date" bindchange="changeDate">
<icon class="iconfont icon-date"></icon> {{ date_day}}
</picker>
</view>
<view class="down" bindtap="addDay">下一日</view>
</view>
reduceDay和addDay两个方法就是加减函数啦。中间日期用小程序提供的日期选择器。
js
js data里需要定义一个 date_day作为变量来传值啦。
下面直接代码记录:
三个函数:
选择日期函数
具体函数名对应上面样式里即可
changeDate: function (e) {
console.log(e)
this.setData({
date_day: e.detail.value
})
},
加减日期函数
addDay: function () {
let count = this.data.date_day;
let year = parseInt(count.split("-")[0]);
let month = parseInt(count.split("-")[1]);
let day = parseInt(count.split("-")[2]);
day += 1;
if (day > 31) {
month += 1;
day = 1;
if (month > 12) {
year += 1;
month = 1
}
}
if (day < 10) {
if (month < 10) {
this.setData({
date_day: year + '-0' + month + '-0' + day
})
}
if (month >= 10) {
this.setData({
date_day: year + '-' + month + '-0' + day
})
}
}
if (day >= 10) {
if (month < 10) {
this.setData({
date_day: year + '-0' + month + '-' + day
})
}
if (month >= 10) {
this.setData({
date_day: year + '-' + month + '-' + day
})
}
}
},
至于相减也是大同小异,无非就是自增改为自减,减到0变为31、12即可。
当然,萌新出道,代码逻辑有问题欢迎各位大佬指点啦。
我是一个喜欢跪键盘的前端小萌新~~