根据日期获取前后时间的数组

1 篇文章 0 订阅
1 篇文章 0 订阅

根据给定日期和获取范围,获取往前几天或者往后几天的数组

        /**
         * 根据提供的数字和日期字符串获取一系列过去或未来的日期。
         * @param {string} stringNum 包含要获取的日期数量的字符串,如果包含'-'表示获取过去的日子("-7"),否则表示获取未来的日子("7")。
         * @param {string} stringDate 一个符合Date构造函数要求的日期字符串。
         * @returns {Array} 返回一个包含指定数量日期的字符串数组,格式为YYYY-MM-DD。
         */
        function GetDate(stringNum, stringDate) {
            const today = new Date(stringDate); // 使用提供的日期字符串创建一个Date对象
            const pastDatesArray = []; // 用于存储过去或未来日期的数组

            if (stringNum.includes('-')) {
                // 如果字符串包含'-',表示需要获取过去的日子
                for (let i = Math.abs(Number(stringNum)); i >= 1; i--) {
                    const pastDate = new Date(today); // 创建一个基于提供的日期的日期对象
                    pastDate.setDate(today.getDate() - i); // 设置日期为提供的日期的前i天
                    pastDatesArray.push(pastDate.toISOString().substring(0, 10)); // 将日期对象格式化后添加到数组中
                }
            } else {
                // 如果字符串不包含'-',表示需要获取未来的日子
                for (let i = 1; i <= Math.abs(Number(stringNum)); i++) {
                    const pastDate = new Date(today); // 创建一个基于提供的日期的日期对象
                    pastDate.setDate(today.getDate() + i); // 设置日期为提供的日期的后i天
                    pastDatesArray.push(pastDate.toISOString().substring(0, 10)); // 将日期对象格式化后添加到数组中
                }
            }
            return pastDatesArray; // 返回包含日期字符串的数组
        }

获取当前日期的前后数组

 /**
         * 获取当前日期前后30天的日期范围数组,格式为YYYY-MM-DD。
         * @returns {Array} 返回一个包含日期字符串的数组,每个字符串代表从当前日期往前推15天到往后推15天的日期。
         */
        function GetDate() {
            const today = new Date(); // 获取当前日期
            const dateRangeArray = []; // 初始化用于存储日期范围的数组
            for (let i = -15; i <= 15; i++) { // 循环遍历前后30天的日期范围
                const date = new Date(today); // 创建一个新的Date对象来操作日期
                date.setDate(today.getDate() + i); // 根据循环变量i设置日期
                dateRangeArray.push(date.toISOString().substring(0, 10)); // 将日期转换为字符串并添加到数组中
            }
            return dateRangeArray // 返回日期范围数组
        }

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值