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

JavaScript028

怎么让js中date进行加减运算,第1张

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"))

要下班了没时间了,这两个函数能帮到你

第一个把时间转换为整数,这样你就能去计算了,第二个把数字转换成时间,你可以用来显示了

function getIntFromTime(time) {

time = time.split(':')

return parseInt(time[0], 10) * 60 * 60 + parseInt(time[1], 10) * 60 + parseInt(time[2], 10)

}

function getTimeFromInt(value) {

var h = Math.floor(value / 60 / 60)

var m = value % (60*60)

var s = value % (60)

if (h.toString().length <2) h = '0' + h.toString()

if (m.toString().length <2) m = '0' + m.toString()

if(s.toString().length <2) s = '0' + s.toString()

 return h + ':' + m + ':' + s

}