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日

相关文章

  • js Array.slice的8种不同用法示例

    下面就是关于“js Array.slice的8种不同用法示例”的完整攻略: 什么是Array.slice()方法? Array.slice()方法是一个具有很强实用性的JavaScript数组方法,它可以把数组中的某一部分或全部内容复制到一个新数组中。 基本语法 array.slice(start, end) start:必须,整数值。规定从哪里开始选取,如…

    JavaScript 2023年5月27日
    00
  • Node处理CPU密集型任务有哪些方法

    当进行 CPU 密集型的操作时,常规的 Node.js 单线程模型可能会导致程序运行缓慢,影响服务器的性能和响应速度。为了解决这个问题,我们需要采取一些特殊的措施,下面是几个可能的方法: 1. 多线程/子进程 多线程是常用的解决方法之一,通过在多个线程执行 CPU 密集型操作可以显著提高程序的性能。Node.js 的 child_process 模块可以用于…

    JavaScript 2023年5月28日
    00
  • jQuery实现图像旋转动画效果

    下面是“jQuery实现图像旋转动画效果”的完整攻略: 1. 引入jQuery库 首先需要在html文件中引入jQuery库,可以通过以下方式进行引入: <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script&…

    JavaScript 2023年6月11日
    00
  • 前端 JavaScript运行原理

    前端 JavaScript 运行原理是指在浏览器中,JavaScript 代码是如何被解析,执行和呈现的过程。整个过程可以分为以下几个阶段: 词法分析阶段:浏览器首先会对 JavaScript 代码进行词法分析,将代码分解为一个个 token,包括语句、变量名、操作符等。每个 token 都有自己的类型和意义。 语法分析阶段:浏览器在词法分析的基础上,对 T…

    JavaScript 2023年5月27日
    00
  • JavaScript事件处理的方式(三种)

    JavaScript事件处理的方式,一般可以分为三种,分别是通过HTML属性、DOM 0级事件处理和DOM 2级事件处理。下面将一一详细讲解。 1. HTML属性方式 使用HTML标签的事件属性来绑定事件,比如<button onclick=”alert(‘clicked’)”>Click me</button>。 HTML属性事件处…

    JavaScript 2023年5月17日
    00
  • JavaScript中 ES6 generator数据类型详解

    JavaScript中 ES6 generator数据类型详解 什么是 generator? generator 是 ES6 中新增加的一种数据类型,它可以在函数执行的过程中暂停执行,并可以恢复执行。 在函数中使用 yield 关键字可以暂停函数的执行,同时可以通过 next() 方法恢复函数的执行。 使用 generator 可以方便地实现异步操作、迭代器…

    JavaScript 2023年5月28日
    00
  • js实现电子时钟功能

    下面我将为您详细讲解实现“js实现电子时钟功能”的完整攻略。在这个过程中,我们将会用到HTML、CSS和JavaScript三种语言。 HTML部分 首先,我们先编写一个基本的HTML页面,然后在页面中添加一个用于显示时间的DIV容器。HTML代码可以如下所示: <!DOCTYPE html> <html> <head> …

    JavaScript 2023年5月27日
    00
  • jquery.validate使用时遇到的问题

    下面是详细讲解jquery.validate使用时遇到的问题的攻略: 问题描述 在使用jquery.validate进行表单验证时,可能会遇到以下几个问题:1. 表单重复提交;2. 校验失败时无法获取错误信息;3. 重置表单时无法清除样式。 解决方案 1. 表单重复提交 为了避免用户重复提交表单,我们需要在第一次提交之后就禁用提交按钮。可以通过以下代码实现:…

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