这篇文章主要介绍微信小程序如何实现根据日期和时间排序功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
需求分析(这是已完成的效果)
这里有具体的日期时间和具体的小时时间,后端数据给我传来的是这样式的
startDate: "2021-08-27" //日期年月日
startTime: "10:15" //开始时间
endTime: "20:00" //结束时间
实现代码
// 根据日期排序
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/json'
},
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
})
dataListaaa.sort(that.compareatime('starttime')); //调用上面时间时间排序的方法
}
//根据日期排序
if(res.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);
// console.log(dateVal);
})
dataList.sort(that.comparedate('startDate')); //根据日期排序使用的方法结合上面的comparedate
},
以上是“微信小程序如何实现根据日期和时间排序功能”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。