近日移动端项目需求,要求获得今日、昨日、本周、上周、本月、上月 的用户数据,因此查了一些文档之类的根据需求封装了几个方法,如果你的需求同我一样,那么你可以直接拷贝,按照步骤去使用即可。话不多说直接上代码:

npm install moment --save
  • 第二步:在需要用到的页面引入 如第三步引入
import moment from "moment";
  • 第三步:在项目中新建一个js文件,封装获取时间的方法,这里我已经写好了,需要的直接把代码拷贝进去即可。
  • 因我我们后台的需要让把年月日 时分秒 都传过去,所以请注意:( 代码中的 HH:mm:ss 就是时分秒的转换)如果你们后端不需要你传时分秒,那么你就直接删除  HH:mm:ss 即可。
// 引入 moment 时间插件
import moment from "moment";
//获取今日/昨日/本周/上周/本月/上月 时间
export default {
    // 获取今日的开始结束时间
    getToday() {
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().startOf("day").valueOf()).format("YYYY-MM-DD HH:mm:ss");
        obj.endtime = moment(moment().valueOf()).format("YYYY-MM-DD HH:mm:ss");
        return obj
    },
    // 获取昨日的开始结束时间
    getYesterday() {
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().add(-1, 'days').startOf("day").valueOf()).format("YYYY-MM-DD HH:mm:ss");
        obj.endtime = moment(moment().add(-1, 'days').endOf('day').valueOf()).format('YYYY-MM-DD HH:mm:ss');
        return obj
    },
    // 获取当前周的开始结束时间
    getCurrWeekDays() {
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().week(moment().week()).startOf('week').add(1, 'days').valueOf()).format('YYYY-MM-DD HH:mm:ss')
        obj.endtime = moment(moment().week(moment().week()).endOf('week').add(1, 'days').valueOf()).format('YYYY-MM-DD HH:mm:ss');
        return obj
    },
    // 获取上一周的开始结束时间
    getLastWeekDays() {
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().week(moment().week() - 1).startOf('week').add(1, 'days').valueOf()).format('YYYY-MM-DD HH:mm:ss')
        obj.endtime = moment(moment().week(moment().week() - 1).endOf('week').add(1, 'days').valueOf()).format('YYYY-MM-DD HH:mm:ss');
        return obj
    },
    // 获取当前月的开始结束时间
    getCurrMonthDays() {
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().month(moment().month()).startOf('month').valueOf()).format('YYYY-MM-DD HH:mm:ss');
        obj.endtime = moment(moment().month(moment().month()).endOf('month').valueOf()).format('YYYY-MM-DD HH:mm:ss');
        return obj
    },
    // 获取上一个月的开始结束时间
    getLastMonthDays() {
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().month(moment().month() - 1).startOf('month').valueOf()).format('YYYY-MM-DD HH:mm:ss');
        obj.endtime = moment(moment().month(moment().month() - 1).endOf('month').valueOf()).format('YYYY-MM-DD HH:mm:ss');
        return obj
    },


}

 

  • 第四步:在需要获取时间的页面引入(路径改成自己的文件路径即可,其他的不需要改)
import getDate from "./getDate";
  • 第五步:使用方法(在created里面测试下是否能获取到,获取到的时间是否正确,如果无误再按照自己的需求在data里面定义变量,在需要的地方获取时间并赋值。以下是我给出的测试案例,可以直接拷贝,然后看下图,如果可以拿到时间,证明无误)
  created() {
    // 今日开始时间
    let endtime = getDate.getToday().endtime;
    //今日结束时间
    let starttime = getDate.getToday().starttime;
    console.log("获取时间今日时间");
    console.log(getDate.getToday());
    console.log(starttime);
  },
  • 如下图所示: 

  • 以上就是我遇到的问题以及实现步骤,希望可以帮到你。有兴趣的可以关注我,互相学习。
    我时常会整理博客,工作中遇到的问题和常用需求都会写出小案例放在博客上以供大家一起参考和使用。 
  • 有问题的可留言,我会即使处理回答,谢谢?
Logo

前往低代码交流专区

更多推荐