首页 > 其他分享 >JS 日期计算 天数加减、月数加减

JS 日期计算 天数加减、月数加减

时间:2024-03-30 09:01:28浏览次数:25  
标签:月数 加减 month var date JS day

JS 日期计算 天数加减、月数加减

addDays(date, days) {
    //给指定日期增加天数
    if (!days) {
      return date;
    }
    let dateArr = date.split(' ');
    date = new Date(new Date(date).setDate(new Date(date).getDate() + days));
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    if (month < 10) {
      month = '0' + month;
    }
    var day = date.getDate();
    if (day < 10) {
      day = '0' + day;
    }
    date = year + '-' + month + '-' + day;
    if (dateArr.length == 1) {
      return date;
    }
    return date + ' ' + dateArr[1];
  }
//月份,原日期,增加(或减少) months 月数
  addMonth(yearmonth,months){
    var arr=yearmonth.split('-');//2020-02,或2020-02-02
    var year=parseInt(arr[0]);
    var month=parseInt(arr[1]);
    var m=month+months;
    if(m>0){
      var yearnum=parseInt((m-1)/12);
      month=m%12==0?12:m%12;
      year+=yearnum;
    }
    else if(m<=0){
      m=Math.abs(month+months);
      var yearnum=parseInt((m+month+12)/12);
      month=m%12==0?12:12-m%12;
      year-=yearnum;
    }
    month=month<10?"0"+month:month;
    return year+"-"+month;
  }

 

标签:月数,加减,month,var,date,JS,day
From: https://www.cnblogs.com/wishit/p/18105004

相关文章

  • js简单实现函数重载
    函数重载在前端开发中,JavaScript并不支持像其他语言(如C++或Java)中那样的函数重载,其中可以根据参数的不同来调用不同的函数。在JavaScript中,函数名是唯一的标识符,而不是函数签名。因此,定义具有相同名称但不同参数数量或类型的多个函数将会覆盖前面的定义。但是,你可......
  • CTF题型 nodejs(1) 命令执行绕过&典型例题
    CTF题型nodejs(1)命令执行绕过文章目录CTF题型nodejs(1)命令执行绕过一.nodejs中的命令执行二.nodejs中的命令绕过1.编码绕过2.拼接绕过3.模板字符串4.Obejct.keys5.反射6.过滤中括号的情况典型例题1.[GFCTF2021]ez_calc2.[西湖论剑2022]NodeMagicalLogin......
  • CTF题型 nodejs(2) Js沙盒vm&vm2逃逸原理总结&典型例题
    CTF题型nodejs(2)Js沙盒逃逸原理&典型例题文章目录CTF题型nodejs(2)Js沙盒逃逸原理&典型例题一.vm原理以及逃逸1.基本用法2.如何逃逸汇总1)this为对象2)this为null(Object.create(null))a.可用输出直接触发toString方法b.调用属性触发3)Object.create(null)+沙箱......
  • 新写一个jsp项目之二:连接mysql数据库
    下载mysql-installer-community-5.7.44.0。jdbc驱动要是用8.3版本。mysql-connector-j-8.3.0参考菜鸟教程,将jdbc放入tomcat的lib文件夹。 写一个验证程序。 <%@pagelanguage="java"import="java.util.*,java.sql.DriverManager"pageEncoding="utf-8"%><%......
  • 华为OD机试 - 传递悄悄话(Java & JS & Python & C & C++)
    须知哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持文章目录须知题目描述输入描述输出描述解题思路:题目描述给定一个二叉树,每个节点上站一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。初始时,根节点所在......
  • 华为OD机试 - 剩余银饰的重量(Java & JS & Python & C & C++)
    须知哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持文章目录须知题目描述输入描述输出描述解题思路:题目描述有N块二手市场收集的银饰,每块银饰的重量都是正整数,收集到的银饰会被熔化用于打造新的饰品。每一回合,从中选......
  • 【Node.js】定时任务
    Cron表达式Cron表达式是用于表示定时任务的一种语法。它由6个字段组成,按顺序分别表示分、时、日、月、周几和年份。******┬┬┬┬┬┬│││││││││││└──星期(0-6,0表示......
  • Node.js毕业设计合同管理系统(Express+附源码)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在现代商业活动中,合同作为规范各方权利与义务的法律文件,扮演着至关重要的角色。随着经济全球化和商业交易的日益频繁,企业和个人需要处理和管理的合同数量急......
  • Node.js毕业设计合同管理(Express+附源码)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在当今信息化快速发展的时代,合同管理系统作为企业日常运营中不可或缺的一部分,扮演着至关重要的角色。合同管理涉及合同的起草、审核、签订、执行以及存档等......
  • 【课件】Node.js工程师养成计划
    引用地址第3章Node脚手架篇–打造自己的脚手架工具运用Node基础知识,完成脚手架项目,打造一个自己的脚手架工具,为后续web项目的构建打基础,同时本项目中会加入更深层次的Node相关知识,完成对Node本身相关知识的全面构建第4章Node原生实战篇–项目基建–原生......