怎么让js中date进行加减运算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么让js中date进行加减运算相关的知识,希望对你有一定的参考价值。

js中没有如同C#中的AddDays的方法,
所以重写了Date对象的prototype,扩展了增加日期的方法,

代码如下:
Date.prototype.Format = function(fmt)

//author:
meizz
var o
=



"M+" : this.getMonth() + 1, //月份

"d+" : this.getDate(), //日

"h+" : this.getHours(), //小时

"m+" : this.getMinutes(), //分

"s+" : this.getSeconds(), //秒

"q+" : Math.floor((this.getMonth() + 3) / 3), //季度

"S" : this.getMilliseconds() //毫秒

;
if
(/(y+)/.test(fmt))

fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 -
RegExp.$1.length));
for (var k
in o)

if (new RegExp("(" + k + ")").test(fmt))

fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) :
(("00" + o[k]).substr(("" + o[k]).length)));
return
fmt;


Date.prototype.addDays = function(d)


this.setDate(this.getDate() + d);
;

Date.prototype.addWeeks = function(w)


this.addDays(w * 7);
;

Date.prototype.addMonths= function(m)

var d =
this.getDate();

this.setMonth(this.getMonth() + m);

if
(this.getDate() < d)

this.setDate(0);
;

Date.prototype.addYears = function(y)

var m =
this.getMonth();

this.setFullYear(this.getFullYear() + y);

if (m
< this.getMonth())



this.setDate(0);


;

var now = new Date();
now.addDays(1);//加减日期操作
alert(now.Format("yyyy-MM-dd"));
参考技术A 先利用getTime()转换成毫秒格式,再进行加减运算;
然后再利用setTime()换成日期格式输出;本回答被提问者和网友采纳

Js日期加减(天数),时间加减,日期运算

根据传入的日期做加减法计算,整数为加法,负数为减法,但是是天。

num可传入: 1,2,3,-1,-2,-3等,默认是加一天;date可传入: 2017-01-01格式的,不传的话默认是当天日期。

function dateChange(num = 1,date = false)
  if (!date)
    date = new Date();//没有传入值时,默认是当前日期
    date = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
  
  date += " 00:00:00";//设置为当天凌晨12点
  date = Date.parse(new Date(date))/1000;//转换为时间戳
  date += (86400) * num;//修改后的时间戳
  var newDate = new Date(parseInt(date) * 1000);//转换为时间
  return newDate.getFullYear() + '-' + (newDate.getMonth() + 1) + '-' + newDate.getDate();

1、dateChange(); //当前日期加一天

2、dateChange(30);//当前日期加30天

3、dateChange(-10); //当前日期加-10天

4、dateChange(3, '2018-02-27');        指定日期加3天

5、dateChange(-2, '2016-3-1');        指定日期加-2天

以上是关于怎么让js中date进行加减运算的主要内容,如果未能解决你的问题,请参考以下文章

Js日期加减(天数),时间加减,日期运算,可直接调用

Js日期加减(天数),时间加减,日期运算

Js日期加减(天数),时间加减,日期运算

JS超过16位的数字如何进行加减乘数运算

Java对日期Date类进行加减运算,年份加减,月份加减

linux date 加减运算