js获取指定日期的前一天/后一天

转载:https://blog.csdn.net/weixin_42971942/article/details/82866347

方法一:获取指定日期的前几天或后几天  

date代表指定日期,格式:2018-09-27

day代表天数,-1代表前一天,1代表后一天

// date 代表指定的日期,格式:2018-09-27
// day 传-1表始前一天,传1表始后一天
//
JS获取指定日期的前一天,后一天 function getNextDate(date, day) {   var dd = new Date(date);   dd.setDate(dd.getDate() + day);   var y = dd.getFullYear();   var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;   var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();   return y + "-" + m + "-" + d; };
getNextDate("2018-09-27",-1);
运行结果: 2018-09-26

方法二:获取当前日期的前几天或后几天   通过24*60*60*1000转成毫秒计算

// JS取得当前日期的前一天
var curDate = new Date();
var preDate = new Date(curDate.getTime() - 24*60*60*1000).format("yyyy-MM-dd");
$("#currentTime").html(preDate);
var date =
$("#currentTime").html();
console.log("前一天的日期:" + date);
<span id="currentTime"></span>
// 日期格式化
Date.prototype.format = function (format) {
  var args = {
    "M+": this.getMonth() + 1,
    "d+": this.getDate(),
    "h+": this.getHours(),
    "m+": this.getMinutes(),
    "s+": this.getSeconds(),
    "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
    "S": this.getMilliseconds()
  };
  if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  for (var i in args) {
    var n = args[i];
    if (new RegExp("(" + i + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? n : ("00" + n).substr(("" + n).length));
  }
  return format;
};
原文地址:https://www.cnblogs.com/aiyowei/p/11097110.html