javascript中取前n天日期的两种方法分享

当我们需要获取前n天的日期时,可以利用JavaScript的Date对象和数组的方法来完成,以下是两种实现方法:

方法一:使用Date对象

/**
 * 根据当前日期计算前n天的日期
 * @param {Number} n 前n天的日期
 */
function getNDaysBefore(n) {
  var now = new Date();
  var last = new Date(now.getTime() - n * 24 * 3600 * 1000);
  var year = last.getFullYear();
  var month = last.getMonth() + 1;
  var date = last.getDate();
  return year + '-' + month + '-' + date;
}

console.log(getNDaysBefore(7)); // 输出7天前的日期,例如:2019-10-23

该函数接受一个参数n表示要获取前几天的日期,通过Date对象的getTime()方法获取当前日期的毫秒数,然后根据n天的毫秒数得到n天前的日期,最后格式化日期字符串输出。

方法二:使用数组的map方法

/**
 * 根据当前日期计算前n天的日期
 * @param {Number} n 前n天的日期
 */
function getNDaysBefore(n) {
  var now = new Date();
  var days = new Array(n).fill('').map((item, index) => {
    var date = new Date(now.getTime() - (index + 1) * 24 * 3600 * 1000);
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var day = date.getDate();
    return year + '-' + month + '-' + day;
  })
  return days;
}

console.log(getNDaysBefore(7)); // 输出7天前到昨天的日期字符串数组,例如:['2019-10-23', '2019-10-24', '2019-10-25', '2019-10-26', '2019-10-27', '2019-10-28', '2019-10-29']

该函数接受一个参数n表示要获取前几天的日期,通过数组的fill方法创建一个长度为n的数组,然后通过数组的map方法遍历每一项,依次计算出前i天的日期字符串,最后返回一个包含这几天日期字符串的数组。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript中取前n天日期的两种方法分享 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Javascript 日期处理之时区问题

    Javascript 日期处理之时区问题 介绍 在JavaScript日期处理中,时区问题经常是一个麻烦之处。本文将围绕着JavaScript日期处理中的时区问题进行讲解和说明。 时区概念 首先要了解的是,时区是以一个中央参考点为基础,通过24小时来计算时间的一种标准化的时间概念。时区一般可以通过偏差量来表示,例如北京时间是GMT+8。 JavaScript…

    JavaScript 2023年5月27日
    00
  • 5个最佳的Javascript日期处理类库分享

    以下是关于“5个最佳的Javascript日期处理类库分享”的详细攻略。 1. moment.js Moment.js是最流行的JavaScript日期库之一,提供了丰富的日期和时间功能。它有强大的解析和格式化能力,可以将日期和时间的字符串转换为具体的时间对象。此外,它还提供了一些处理日期的有用方法,例如计算时间差,生成时间序列等。 以下是一个使用Momen…

    JavaScript 2023年5月27日
    00
  • 在JavaScript中查找字符串中最长单词的三种方法(推荐)

    让我们来详细讲解在JavaScript中查找字符串中最长单词的三种方法。 方法一:使用split()和sort()函数 该方法通过使用split()函数将字符串转换为数组,并使用sort()函数对数组进行排序,然后找到数组中最长的单词来查找最长单词。 function findLongestWord(str) { let words = str.split(…

    JavaScript 2023年5月28日
    00
  • js显示世界时间示例(包括世界各大城市)

    下面就是“js显示世界时间示例(包括世界各大城市)”的完整攻略。 思路概述 本代码的主要思路是通过获取当前时间(即本地时间),将其转换为世界各大城市的对应时间,并在页面上显示出来。具体实现方法是使用 JavaScript 和 Moment.js 库。 实现步骤 引入 Moment.js 库 Moment.js 是一个 JavaScript 日期处理库,可以方…

    JavaScript 2023年5月27日
    00
  • JavaScript 高级篇之闭包、模拟类,继承(五)

    JavaScript 高级篇之闭包、模拟类、继承是JavaScript语言学习中比较重要的一部分,本文将针对这三个概念进行详细的介绍和举例操作。 闭包 1.什么是闭包 闭包是指在一个函数内部定义的函数,并且这个函数可以访问到它外部函数作用域内的变量。闭包也可以定义在全局作用域内。JavaScript 中的所有函数都可以作为闭包来使用。 2.闭包的用途 实现数…

    JavaScript 2023年6月10日
    00
  • JavaScript 编写匿名函数的几种方法

    这里是详细讲解“JavaScript 编写匿名函数的几种方法”的完整攻略。 什么是匿名函数 匿名函数是一种没有名称的函数,也就是没有函数名的函数表达式。它可以作为值赋给变量、作为函数参数传递、作为返回值等等。 JavaScript 编写匿名函数的几种方法 以下是几种常见的 JavaScript 编写匿名函数的方法。 方法一:使用函数表达式 函数表达式是使用 …

    JavaScript 2023年5月27日
    00
  • javascript表单事件处理方法详解

    JavaScript表单事件处理方法详解 什么是表单事件 表单事件是指当用户与表单元素交互时,浏览器会触发一些事件以响应用户的行为。表单事件可以是用户输入、用户点击、用户提交表单等等。 常见的表单事件 以下是一些常见的表单事件: focus:当元素获得焦点时 blur:当元素失去焦点时 change:当元素值发生改变时 keydown、keyup:按下或松开…

    JavaScript 2023年6月10日
    00
  • JS兼容浏览器的导出Excel(CSV)文件的方法

    作为一个网站的作者,要实现JS兼容浏览器的导出Excel(CSV)文件功能,可以采用以下步骤: 1. 准备数据 首先,需要准备好要导出的数据,以数组的形式存储。并根据具体需要从数据中提取出需要导出的字段,组成表头。 const data = [ { name: ‘张三’, age: 18, gender: ‘男’, address: ‘北京市’ }, { n…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部