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

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
    评论
1、列举常用的java系统包?哪个包不需要用import导入? 2、如何获取字符串长度、数组长度? 3、如何判断两个字符串是否相等? 4、如何获取字符串指定位置的字符? 5、怎样把字符串转小写或大写? 6、如何去除字符串首尾空格? 7、怎样判断一个字符串是否以另外字符串开头或结束? 8、使用String对象的求子串方法substring()要注意什么?“abcde".substring(0,3)的结果是什么? 9、如何判断一个字符串是另一个的子串? 10、将一个字符串按指定定界符分割成字符串数组用什么方法,举例说明。 11、字符串和字符数组如何相互转换? 12、String和StringBuffer的区别,如何互相转化? 13、如何求字符串的逆序字符串? 14、Integer类中2,8,16进制=》10进制,10进制转2,8,16进制的方法。 15、获取给定日期(比如你的生日)星期几的方法,举例说明。 16、字符串和整数(实数)之间互相转换的方法? 17、如何计算一段代码的执行时间? 18、如何实现两个数组内容的拷贝? 19、已知window下任意文件名,返回该文件的扩展名。 20、以"年-月-日 小时:分钟:秒"的格式显示当前时间,年4位,月、日、小时、分钟、秒占2位,小时是24进制的。 21、任给两个日期,求它们相差的天数?(可考虑用日期时间类实现),给出1990-10-1和2000-3-1相差的天数的结果值。
04-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值