微信小程序 時間選擇器--按周選擇 (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