js中的dateAdd和dateDiff
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
/* 得到日期年月日等加数字后的日期 */
Date.prototype.dateAdd = function(interval,number) { var d = this; var k={"y":"FullYear", "q":"Month", "m":"Month", "w":"Date", "d":"Date", "h":"Hours", "n":"Minutes", "s":"Seconds", "ms":"MilliSeconds"}; var n={"q":3, "w":7}; eval("d.set"+k[interval]+"(d.get"+k[interval]+"()+"+((n[interval]||1)*number)+")"); return d; }; /* 计算两日期相差的日期年月日等 */ Date.prototype.dateDiff = function(interval,objDate) { var d=this, t=d.getTime(), t2=objDate.getTime(), i={}; i["y"]=objDate.getFullYear()-d.getFullYear(); i["q"]=i["y"]*4+Math.floor(objDate.getMonth()/4)-Math.floor(d.getMonth()/4); i["m"]=i["y"]*12+objDate.getMonth()-d.getMonth(); i["ms"]=objDate.getTime()-d.getTime(); i["w"]=Math.floor((t2+345600000)/(604800000))-Math.floor((t+345600000)/(604800000)); i["d"]=Math.floor(t2/86400000)-Math.floor(t/86400000); i["h"]=Math.floor(t2/3600000)-Math.floor(t/3600000); i["n"]=Math.floor(t2/60000)-Math.floor(t/60000); i["s"]=Math.floor(t2/1000)-Math.floor(t/1000); return i[interval]; }; /*调用例子*/ window.onload = function(){ /* interval:类型参数,可为:"y":"FullYear", "q":"Month", "m":"Month", "w":"Date", "d":"Date", "h":"Hours", "n":"Minutes", "s":"Seconds", "ms":"MilliSeconds" number:对应加上的数值 */ var d1 = new Date(); alert(d1.toLocaleString()); d1.dateAdd("y" ,1); alert(d1.toLocaleString());/*加1年*/ /* interval:类型参数,可为:"y":"FullYear", "q":"Month", "m":"Month", "w":"Date", "d":"Date", "h":"Hours", "n":"Minutes", "s":"Seconds", "ms":"MilliSeconds" objDate:日期对象 */ var d2 = new Date(); alert("相隔了"+ d2.dateDiff("y" ,d1) +"年"); }; 该文章在 2010/8/13 19:00:12 编辑过 |
关键字查询
相关文章
正在查询... |