微信小程式實現根據日期和時間排序功能
阿新 • • 發佈:2021-08-27
最近接手了一個小程式的專案,有這樣一個需求要對列表進行日期和時間的排序,於是小試牛刀,操作了一番,終於搞出來,在這裡給大家總結分享一下經驗,希望對大家有一定的幫助。
需求分析(這是已完成的效果)
這裡有具體的日期時間和具體的小時時間,後端資料給我傳來的是這樣式的
startDate: "2021-08-27" //日期年月日
startTime: "10:15" //開始時間
endTime: "20:00"www.cppcns.com //結束時間
實現程式碼
// 根據日期排序 comparedate: function (property) { // console.log(property); return function (a,b) { var value1 = Date.parse(new Date(a[property])); //轉換成十六進位制獲取日期 var value2 = Date.parse(new Date(b[property])); // console.log( value1 -value2); return value1 - value2; //value1-value2是從小到大排序 反過來則是從大到小的排序 } },// 根據時間排序 時間格式是10:00的個格式,所以我們用到slice進行擷取字串前兩位,通過小時來進行比較時間的先後順序 compareahour: function (property) { // console.log(property); return function (a,b) { var value1 = a.startTime.slice(0,2) //slice(0,2) 獲取字串前兩位進行比較 var value2 = b.endTime.slice(0,2) // console.log(value1-value2) return value1 -value2 //value1-value2是從小到大排序 反過來則是從大到小的排序 } },MyTaskList:function(){ var that=this wx.request({ url: '請求介面',data: { //放參數 },method: "POST",header: { 'content-type': 'application/on' },success: function (res) { // 根據時間排序 if(res.data.list.orderDetailsList!=""){ var dataListaaa=res.data.list.orderDetailsList; dataListaaa.forEach((item) => { var starttime=item.startTime var endtime =item.endTime }) dataListaaawww.cppcns.com.sort(that.compareatime('starttime')); //呼叫上面時間時間排序的方法 } //根據日期排序 if(reshttp://www.cppcns.com.data.data=="success"){ console.log(res); if(res.data.list.orderDetailsList!=""){ var dataList=res.data.list.orderDetailsList; dataList.forEach((item) => { //迴圈之後進行轉換時間的格式 var month=new Date(item.startDate.replace(/-/g,'/')).getMonth()+1; var day=new Date(item.startDate.replace(/-/g,'/')).getDate(); var dateVal=month+'月'+day+'日'; //拼接‘月' 和‘日' item['startDateFormat']=dateVal; // console.log(day); http://www.cppcns.com// console.log(dateVal); }) dataList.sort(that.comparedate('startDate')); //根據日期排序使用的方法結合上面的comparedate },
總結
以上就是微信小程式根據日期和時間進行排序的全部過程,希望對大家有所幫助。
本文的全部內容為大家介紹完了,也希望大家多多支援我們。