JS获取N天/周/月/年前的时间

这篇文章详细描述了一个名为getDate的JavaScript函数,用于根据给定参数获取当前时间或指定天数、周数、月数、年前后的日期,以YYYY-MM-DD格式返回。
摘要由CSDN通过智能技术生成
    getDate(date, type = null, number = 0, before = null, after = null) {
        console.log("🚀 ~ file: commonFun.js:78 ~ getDate ~ number:", number)
        console.log("🚀 ~ file: commonFun.js:78 ~ getDate ~ type:", type)
        console.log("🚀 ~ file: commonFun.js:78 ~ getDate ~ date:", date)
        var nowDate
        if (date) {
            nowDate = new Date(date);
        } else {
            nowDate = new Date()
        }
        switch (type) {
            case "day": //取number天前、后的时间
                if (before) {
                    nowDate.setTime(nowDate.getTime() - (24 * 3600 * 1000) * number);
                }
                if (after) {
                    nowDate.setTime(nowDate.getTime() + (24 * 3600 * 1000) * number);
                }
                var y = nowDate.getFullYear();
                var m = nowDate.getMonth() + 1;
                if (m < 10) {
                    m = `0${m}`;
                } else {
                    m = m;
                }
                var d = nowDate.getDate();
                var returnDate = y + '-' + m + '-' + d;
                console.log("🚀 ~ file: commonFun.js:99 ~ 取number天前、后的时间 ~ returnDate:", returnDate)
                break;
            case "week": //取number周前、后的时间
                var weekDate
                if (before) {
                    weekDate = new Date(nowDate.getTime() - (7 * 24 * 3600 * 1000) * number);
                }
                if (after) {
                    weekDate = new Date(nowDate.getTime() + (7 * 24 * 3600 * 1000) * number);
                }
                var y = weekDate.getFullYear();
                var m = weekDate.getMonth() + 1;
                var d = weekDate.getDate();
                console.log('取number周前、后的时间month', m)
                m = m < 10 ? '0' + m : m
                var returnDate = y + '-' + m + '-' + d;
                console.log("🚀 ~ file: commonFun.js:109 ~ 取number周前、后的时间 ~ returnDate:", returnDate)
                break;
            case "month": //取number月前、后的时间
                if (before) {
                    nowDate.setMonth(nowDate.getMonth() - number);
                }
                if (after) {
                    nowDate.setMonth(nowDate.getMonth() + number);
                }
                var y = nowDate.getFullYear();
                var m = nowDate.getMonth() + 1;
                var d = nowDate.getDate();
                var returnDate = y + '-' + m + '-' + d;
                console.log("🚀 ~ file: commonFun.js:117 ~ 取number月前、后的时间 ~ returnDate:", returnDate)
                break;
            case "year": //取number年前、后的时间
                if (before) {
                    nowDate.setFullYear(nowDate.getFullYear() + number);
                }
                if (after) {
                    nowDate.setFullYear(nowDate.getFullYear() + number);
                }
                var y = nowDate.getFullYear();
                var m = nowDate.getMonth() + 1;
                var d = nowDate.getDate();
                var returnDate = y + '-' + m + '-' + d;
                console.log("🚀 ~ file: commonFun.js:125 ~ 取number年前、后的时间 ~ returnDate:", returnDate)
                break;
            default: //取当前时间
                var y = nowDate.getFullYear();
                var m = nowDate.getMonth() + 1;
                var d = nowDate.getDate();
                var returnDate = y + '-' + m + '-' + d;
                console.log("🚀 ~ file: commonFun.js:132 ~ 取当前时间 ~ returnDate:", returnDate)
        }
        return returnDate;
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值