一些关于日期的js方法

格林日期格式或者2018-08-08格式转化为20180808格式

/* 转化日期为20180808 */
        transformData (date) {
            let _date = new Date(date)
            let m = (_date.getMonth() + 1) < 10 ? '0' + (_date.getMonth() + 1) : (_date.getMonth() + 1)
            let d = _date.getDate() < 10 ? '0' + _date.getDate() : _date.getDate()
             let _result = _date.getFullYear() + '' + m + '' + d;
            return _result
        }

获取n天前的日期,并转换为2018-08-08格式

/* 获取n天前的日期 */
        getDate () {
            let myDate = new Date();
            let dateNow = new Date(myDate - 1000 * 60 * 60 * 24 * n);
            let nowY = dateNow.getFullYear();
            let nowM = dateNow.getMonth() + 1;
            let nowD = dateNow.getDate();
            let enddate = nowY + '' + (nowM < 10 ? '0' + nowM : nowM) + '' + (nowD < 10 ? '0' + nowD : nowD);
            return enddate
        }

计算两个日期(格林日期或者2018-08-08的日期格式)之间的天数

/* 计算两个日期之间的天数 */
        daysBetween (date1, date2) {
            var aDate = new Date(date1)
            var bDate = new Date(date2)
            var aDay = 24 * 60 * 60 * 1000;
            var diffDay = (bDate - aDate) / aDay
            return diffDay
        },

比较两个日期的大小(日期格式为2018-01-01或者格林日期格式)

/* 计算两个日期的大小 date1大于date2返回-1 */
        tab (date1, date2) {
            var oDate1 = new Date(date1)
            var oDate2 = new Date(date2)
            if (oDate1.getTime() > oDate2.getTime()) {
                return -1
            } else {
                return 0
            }
        },

获取前一个月和前十三个月的日期,或者 前一天和前三十一天的日期

/* 获取前一个月和前十三个月的日期 或者前一天和前三十一天的日期 */
        getDate (type) {
            if (type === 'm') {
                let dEnd = new Date()
                // 获取前一个月日期
                let yEnd = dEnd.getFullYear()
                let mEnd = dEnd.getMonth();
                mEnd = ((mEnd === 0) ? (12) : (mEnd));
                mEnd = mEnd < 10 ? '0' + mEnd : mEnd;
                // 获取前十三个月前日期
                let yStart = dEnd.getFullYear() - 1
                return {start: yStart + '-' + mEnd, end: yEnd + '-' + mEnd}
            } else if (type === 'd') {
                let myDate = new Date();
                //  获取一天日期
                let dateNow = new Date(myDate - 1000 * 60 * 60 * 24 * 1);
                let nowY = dateNow.getFullYear();
                let nowM = dateNow.getMonth() + 1;
                let nowD = dateNow.getDate();
                let enddate = nowY + '-' + (nowM < 10 ? '0' + nowM : nowM) + '-' + (nowD < 10 ? '0' + nowD : nowD);
                // 获取三十一天日期
                let dateLast = new Date(myDate - 1000 * 60 * 60 * 24 * 30);
                let lastY = dateLast.getFullYear();
                let lastM = dateLast.getMonth() + 1;
                let lastD = dateLast.getDate();
                let startdate = lastY + '-' + (lastM < 10 ? '0' + lastM : lastM) + '-' + (lastD < 10 ? '0' + lastD : lastD);
                return {start: startdate, end: enddate}
            }
        },

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值