这篇文章给大家介绍如何在微信小程序中实现一个日期选择器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
/* JS代码部分 */
3 const date = new Date()
const years = []
const months = []
const days = []
const hours = []
const minutes = []
var thisMon = date.getMonth();
var thisDay = date.getDate();
for (let i = 2017; i <= date.getFullYear() + 1; i++) {
years.push(i)
}
for (let i = date.getMonth(); i <= 11; i++) {
var k = i;
if (0 <= i && i < 9) {
k = "0" + (i + 1);
} else {
k = (i + 1);
}
months.push(k)
}
if (0 <= thisMon && thisMon < 9) {
thisMon = "0" + (thisMon + 1);
} else {
thisMon = (thisMon + 1);
}
if (0 <= thisDay && thisDay < 10) {
thisDay = "0" + thisDay;
}
var totalDay = mGetDate(date.getFullYear(), thisMon);
for (let i = 1; i <= 31; i++) {
var k = i;
if (0 <= i && i < 10) {
k = "0" + i
}
days.push(k)
}
for (let i = 0; i <= 23; i++) {
var k = i;
if (0 <= i && i < 10) {
k = "0" + i
}
hours.push(k)
}
for (let i = 0; i <= 59; i++) {
var k = i;
if (0 <= i && i < 10) {
k = "0" + i
}
minutes.push(k)
}
function mGetDate(year, month) {
var d = new Date(year, month, 0);
return d.getDate();
}
Page({
data: {
years: years,
year: date.getFullYear(),
months: months,
month: thisMon,
days: days,
day: thisDay,
value: [1, thisMon - 1, thisDay - 1, 0, 0],
hours: hours,
hour: "00",
minutes: minutes,
minute: "00",
},
bindChange: function (e) {
const val = e.detail.value
this.setData({
year: this.data.years[val[0]],
month: this.data.months[val[1]],
day: this.data.days[val[2]],
hour: this.data.hours[val[3]],
minute: this.data.minutes[val[4]],
})
var totalDay = mGetDate(this.data.year, this.data.month);
var changeDate = [];
for (let i = 1; i <= totalDay; i++) {
var k = i;
if (0 <= i && i < 10) {
k = "0" + i
}
changeDate.push(k)
}
this.setData({
days: changeDate
})
},
})
/* css代码部分 */
.time-title{
float:left;
width:20%;
text-align:center;
color:#45BCE8;
}
.picker-text{
text-align:center;
}
/*mask*/
.time_screens {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
z-index: 1000;
opacity: 0.5;
overflow: hidden;
}
/* html代码部分 */
<view class="time_screens">
<view >{{year}}-{{month}}-{{day}}
<label >取消</label>
<label >确定</label>
</view>
<view >
</view>
<picker-view indicator- value="{{value}}" bindchange="bindChange">
<picker-view-column class="picker-text">
<view wx:for="{{years}}" >{{item}}年</view>
</picker-view-column>
<picker-view-column class="picker-text">
<view wx:for="{{months}}" >{{item}}月</view>
</picker-view-column>
<picker-view-column class="picker-text">
<view wx:for="{{days}}" >{{item}}日</view>
</picker-view-column>
</picker-view>
</view>
/* Json */
{
"navigationBarTitleText": "XXXX"
}
关于如何在微信小程序中实现一个日期选择器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。