轉載: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; };