本文主要是介绍js时间格式转化处理,vue.js时间转化为今天,明天,后天显示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前端在日常开发中经常需要对时间进行一系列的处理,比如吧正常时间转化为昨天,今天,明天,后天等方式显示,其余时间显示月份日期,时间等,这时候写一个公共方法来转化,即高效又优雅,话不多说,看代码,注释都在代码里了
//后台获取时间列表:
getList() {let project = [{name: "京东当日达",time: "2022-07-04 10:32:16",price: "30.00",},{name: "京东次日达",time: "2022-07-05 11:52:16",price: "26.00",},{name: "京东特快送",time: "2022-07-06 13:30:16",price: "20.00",},{name: "京东超快送",time: "2022-07-08 08:08:16",price: "18.00",},{name: "京东配送",time: "2022-07-12 23:59:16",price: "12.00",}];project.forEach((item) => {item.myTime = this.getTime(item.time);});
},//时间格式进行处理
getTime(strtime) {let date = new Date(strtime.replace(/-/g, "/"));// date 预计送达时间戳date = Date.parse(date); // 转为国际标准时间let time = new Date(parseInt(date)); // 一共相差几天let days = parseInt((date - new Date().getTime()) / 86400000); // 今天是几号let today = new Date().getDate(); let mouth = time.getMonth() + 1;// 预计送达是几号let day = time.getDate(); let hour = time.getHours() < 10 ? "0" + time.getHours() : time.getHours();let min = time.getMinutes() < 10 ? "0" + time.getMinutes() : time.getMinutes();// offset 送达日期-今天日期差let offset = Math.abs(day - today);let obj = {// 日期date: "",// 具体时间time: hour + ":" + min,};// 这里双重判断,第一个判断days < 3是验证是否在同一个月,第二个offset < 3是判断是验证相差是几天if (days < 3 && offset < 3) {if (offset === 0) {obj.date = "今天";} else if (offset === 1) {obj.date = "明天";} else if (offset === 2) {obj.date = "后天";}} else {obj.date = mouth + "月" + day + "日"}return obj;
},
组件经常用到建议收藏,写的比较简单,有复制业务逻辑扩展起来也方便,觉得有用记得一键三连哈!
这篇关于js时间格式转化处理,vue.js时间转化为今天,明天,后天显示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!