亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序中如何計算距離某個節日還有多少天

2020-03-21 15:51:48
字體:
來源:轉載
供稿:網友

先看一下頁面效果:

微信小程序,計算,距離

頁面是這樣的:

微信小程序,計算,距離

好了,正文如下

最近碰到個需求需要計算,距離圣誕、元旦、高考、國慶啊等最近一個節日,還剩多少天。

因為后臺沒空理我,所以本文講解在js中如何解決這個需求。(建議實際中獲取標準時間,當前時間有點不靠譜)

首先肯定是要用 new Date() 獲得當前時間對象,然后再用它的一些方法獲取當前年月日等,根據年月日判斷。

先看一下new Date()對象常用的方法。

  getYear(); //獲取當前年份(2位)  getFullYear(); //獲取檔期年份(4位)  getMonth(); // 獲取當前月份(0-11,0代表1月,很神經,獲取日是正常的1-31...)  getDate(); // 獲取當前日(1-31)  getDay(); //獲取當前星期幾(0-6,0代表星期天...)  getTime(); //獲取當前時間(從1970.1.1開始的毫秒數),注意,是毫秒數?。?!  getHours(); // 獲取當前小時數(0-23)  getMinutes(); // 獲取當前分鐘數(0-59)  getSeconds(); // 獲取當前秒數  getMilliseconds(); //獲取當前毫秒數  toLocalDateString(); // 獲取當前日期

一開始,我是先取得Date()對象的月,日,然后判斷月份等不等于某個日期的月份。分三種情況...

  let mydate = new Date();  let year = mydate.getFullYear();  let month = mydate.getMonth();  let day = mydate.getDate();    // 判斷距離下個高考還需要多久    if(month < 6){    // ...  }else if(month>6){    // ...  }else{    if(day == 7){          }else{          }  }

但是轉念一想,這個做法太繁瑣了。于是換個思路,直接獲取目標日期的時間戳和當前日期的時間戳,兩者之間進行比較。

代碼如下:

 // 公共API // @params 傳入節日日期的str,例如'-10-1','-12-25','-1-1'等 // @return resolve()回調的是個數組 // 數組第一個參數返回的是'今'或者'明'這個字符串,第二個參數返回的是還剩多少天 settime:function(str){    let promis = new Promise((resolve,reject)=>{      // 獲取時間對象   let dateObj = new Date()   let year = dateObj.getFullYear()   let month = dateObj.getMonth()   let day = dateObj.getDate()      // 求當前日期和時間的時間戳   // 這里需要注意的是,利用new Date().getMonth()得到的是0-11的數值   // 而用new Date('year-month-day')初始化求今天0點0分0秒時的Month   // 需要傳入的是1-12的,也就是month要+1   let now = new Date()    let target = new Date(year + str)  // 目標日期      // 先保存起來,后續還會用   let nowtime = now.getTime()    // 當前日期時間戳   let sjc = nowtime - target.getTime() // 時間差    // 回調的2個參數,會組成數組傳入回調函數中   // 這2個信息會直接賦值顯示到頁面中   let theyear = '今'   let thedays = 0   if (sjc < 0) {    // 還未過今年某個節日    theyear = '今'    thedays = Math.floor(Math.abs(sjc / (24 * 60 * 60 * 1000)))   } else if (sjc > 0) {    // 已經過了今年某個節日    let mn = year - 0 + 1    let mntarget = new Date(mn + str)    let sjc2 = mntarget.getTime() - nowtime    theyear = '明'    thedays = Math.floor(sjc2 / (24 * 60 * 60 * 1000))   } else {    // 一年的節日期間    theyear = '今'    thedays = 0   }   let arr = [theyear, thedays]   resolve(arr)  })  return promis }

我頁面的wxml是這樣的

<view> 距離<text>{{gk_year}}</text>年高考還剩:<text>{{gk_days}}</text>天</view><view>距離<text>{{gq_year}}</text>年國慶還剩:<text>{{gq_days}}</text>天</view><view>距離<text>{{yd_year}}</text>年元旦還剩:<text>{{yd_days}}</text>天</view><view>距離<text>{{sd_year}}</text>年圣誕還剩:<text>{{sd_days}}</text>天</view>

在頁面中這樣調用:

 /**  * 生命周期函數--監聽頁面初次渲染完成  */ onReady: function () {  // 設置距離xx還剩多少天  this.setgk() // 高考  this.setgq() // 國慶  this.setyd() // 元旦  this.setsd() // 圣誕 }, /**  * 求距離高考還剩多少天  */ setgk:function(){  let promis = this.settime('-06-07')  let that = this  promis.then((arr)=>{   that.setData({    gk_year:arr[0],    gk_days:arr[1]   })  }) }, // 設置國慶信息 setgq:function(){  let promis = this.settime('-10-01')  let that = this  promis.then((arr) => {   that.setData({    gq_year: arr[0],    gq_days: arr[1]   })  }) }, // 設置元旦 setyd:function(){  let promis = this.settime('-01-01')  let that = this  promis.then((arr) => {   that.setData({    yd_year: arr[0],    yd_days: arr[1]   })  }) }, // 設置圣誕 setsd: function () {  let promis = this.settime('-12-25')  let that = this  promis.then((arr) => {   that.setData({    sd_year: arr[0],    sd_days: arr[1]   })  }) },

附注:調用的時候要人為的補全日期,也就是不足10要在前面補個0,這部分代碼在開發工具上就算不補全也是可以用的。但是在iphone 6s ios12下,不補全,就無效。不知道這個是不是bug,其他手機沒測試,不清楚不補全是否可用。建議用的時候還是人為補全日期吧。

小結,編程就是這樣,很多時候我們換個思路,得出來的思路會比之前的好很多。所以,就算當前項目很緊,做完了之后,還是要多多思考。將一些當時很別扭的地方多想一下,沒準就能想出更好的解決思路。

這一點無論是對個人還是項目,都是有益的。

10-24更新備注:取當前日期的時間戳計算天數存在bug,有1天的差異。所以將settime:function()  中獲取當前日期的時間戳,改成了獲取當前時間的時間戳,因為后續是用Math.floor()函數向下取整,能夠解決時間點帶來的時間戳差異的問題。
最后看一下效果(第一張圖片上的字和第二張最底部的灰色字體,2018-10-24更新)

微信小程序,計算,距離

微信小程序,計算,距離

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线视频播放| 韩国三级日本三级少妇99| 亚洲精品v天堂中文字幕| 热久久免费视频精品| 久久精品视频99| 国产精品日韩久久久久| 岛国视频午夜一区免费在线观看| 亚洲男人的天堂网站| 欧美日韩国产中文精品字幕自在自线| 亚洲成人av中文字幕| 久久成人精品一区二区三区| 成人国产精品久久久久久亚洲| 欧美成人激情在线| www.日韩系列| 成人欧美一区二区三区在线湿哒哒| 欧美性xxxx| 日韩激情在线视频| 4p变态网欧美系列| 亚洲欧美在线x视频| 91av在线影院| 久久中国妇女中文字幕| 欧美www在线| 久久中文字幕视频| 97国产在线观看| 国产精品久久久久久久7电影| 91tv亚洲精品香蕉国产一区7ujn| 亚洲偷熟乱区亚洲香蕉av| 亚洲第一二三四五区| 久久中文字幕在线| 亚洲区bt下载| 欧美电影免费观看电视剧大全| 国产精品久久久亚洲| 中文精品99久久国产香蕉| 亚洲午夜未删减在线观看| 一本久久综合亚洲鲁鲁| 久久久人成影片一区二区三区| 亚洲欧洲美洲在线综合| 亚洲欧美日韩视频一区| 日韩av大片免费看| 久久精品99国产精品酒店日本| 国产91|九色| 日韩欧美a级成人黄色| 亚洲精品久久久久中文字幕二区| 成人免费xxxxx在线观看| 一个人www欧美| 国产精品xxxxx| 欧美激情按摩在线| 亚洲精品成人久久久| 午夜精品久久久久久久白皮肤| 久久91亚洲人成电影网站| 免费成人高清视频| 久久久成人的性感天堂| 欧美在线视频一二三| 97精品国产97久久久久久春色| 亚洲成人黄色在线| 国产精品久久视频| 国产精品嫩草影院久久久| 欧美一区亚洲一区| 国产原创欧美精品| 成人黄色免费网站在线观看| 一区二区三区国产视频| 欧美成人在线免费视频| 中文字幕无线精品亚洲乱码一区| 欧美日韩高清区| 欧美在线性爱视频| 97**国产露脸精品国产| 91精品久久久久久久久久久久久久| 久久久女人电视剧免费播放下载| 亚洲综合中文字幕在线观看| 欧美理论电影在线播放| 在线精品国产欧美| 国产精品免费福利| 97久久伊人激情网| 狠狠躁夜夜躁久久躁别揉| 久久6精品影院| 国产精品成人观看视频国产奇米| 欧美人在线观看| 国产成人jvid在线播放| 亚洲成年人影院在线| 欧美一级高清免费播放| 一区二区三区 在线观看视| 51精品国产黑色丝袜高跟鞋| 日韩在线观看高清| 国产精品美女久久久久av超清| 欧美午夜宅男影院在线观看| 亚洲欧美另类在线观看| 大胆欧美人体视频| www日韩中文字幕在线看| 在线免费观看羞羞视频一区二区| 色www亚洲国产张柏芝| 精品一区二区三区电影| 国产999在线观看| 欧美丝袜一区二区| 中文字幕日韩av综合精品| 亚洲毛茸茸少妇高潮呻吟| 国产噜噜噜噜噜久久久久久久久| 亚洲欧美精品suv| 国产精品久久久久9999| 2019精品视频| 日本高清不卡在线| 草民午夜欧美限制a级福利片| 久久成人免费视频| 国产欧美日韩精品丝袜高跟鞋| 亚洲视频在线视频| 久久精品亚洲国产| 揄拍成人国产精品视频| 日韩欧美高清视频| 日韩av电影在线播放| 亚洲免费一级电影| 久久全球大尺度高清视频| 成人观看高清在线观看免费| 久久久亚洲福利精品午夜| 97精品在线观看| 亚洲iv一区二区三区| 中文字幕亚洲第一| 精品国产一区二区三区在线观看| 日韩在线观看免费高清| 一本色道久久综合亚洲精品小说| 色狠狠av一区二区三区香蕉蜜桃| 国内精品国产三级国产在线专| 国产成人在线视频| 成人国产精品久久久| 欧美视频国产精品| 国产一区二区av| 一区二区三区视频免费在线观看| 亚洲精品成人免费| 97人人爽人人喊人人模波多| 韩剧1988在线观看免费完整版| 久久久久国色av免费观看性色| 日本国产一区二区三区| 精品偷拍各种wc美女嘘嘘| 成人激情视频在线观看| 福利一区福利二区微拍刺激| 亚洲精品电影网站| 久久免费国产精品1| 国产精品27p| 亚洲人成在线一二| 色99之美女主播在线视频| 国产精品久久精品| 国产精品羞羞答答| 日韩在线观看你懂的| 亚洲高清一二三区| 亚洲在线www| 亚洲自拍偷拍色片视频| 欧美另类暴力丝袜| 欧美国产视频一区二区| 久久韩剧网电视剧| 久久久久国产精品免费网站| 亚洲日韩第一页| www.日韩av.com| 久久国产精品久久国产精品| 啊v视频在线一区二区三区| 992tv成人免费影院| 国产在线视频一区| 日韩电影免费观看在线观看| 久久精品91久久久久久再现| 91性高湖久久久久久久久_久久99| 亚洲理论在线a中文字幕| 欧美老少配视频| 欧美激情一区二区三区在线视频观看| 精品国产老师黑色丝袜高跟鞋| 欧美亚洲国产精品| 伊人成人开心激情综合网| 理论片在线不卡免费观看|