微信小程序 时间选择器--按周选择 (yyyy-mm-dd 至 yyyy-mm-dd)


如果有遇到像这样的按周选择

那么可以借一(亿)步说话:

 

说来惭愧,我从网上找了好久都没有找到相似的插件或组件 

后来我就钻研自己写一个(借鉴别人写的,组合成自己的,众所周知你的就是我的,我的还是我的) 

正题来了 

 getTimer() {
    let time = new Date() // 获取当前时间
    let nowTime = time.getTime()
    let day = time.getDay()
    let oneDayTime = 24 * 60 * 60 * 1000; // 一周的时间
    let MondayTime = nowTime - (day - 1) * oneDayTime; //显示当前周一
    let SundayTime = nowTime + (7 - day) * oneDayTime; //显示当前周日
    let setlist = [] // 初始化一个空数组 准备装食物--你好骚啊
    for (let i = 0; i < 365; i++) {
      // 这块我不知道怎么回事一直会有重复的push进去,后面做了去重,可以放心食用,当然也可以优化一下
      setlist.push(this.setTime(MondayTime) + '-' + this.setTime(SundayTime)) // this.setTime()在下面 放心食用
      // 重点 push完,赶紧让它获取上一周的时间 oneDayTime上面有写
      time = new Date(time - oneDayTime)
      nowTime = time.getTime()
      day = time.getDay()
      MondayTime = nowTime - (day - 1) * oneDayTime; //显示当前周一
      SundayTime = nowTime + (7 - day) * oneDayTime; //显示当前周日
    }
    let list = [...new Set(setlist)] // 简单去重一下
    console.log(list);
    this.setData({
      columns: list // 我用的是小程序
    })
  },
  setTime(time) {
    // 将time时间戳 先格式化一下
    let date = new Date(time)
    let yy = date.getFullYear()
    let m = date.getMonth() + 1
    let day = date.getDate()
    let str = yy + '年' + (m < 10 ? '0' + m : m) + '月' + (day < 10 ? '0' + day : day) + '日'
    return str
  },

 

 

 完结,如果有不懂得可以评论,如果做的不够好,欢迎大佬来指教!!!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM