日期加减

wenle 2009-07-13 03:46:42
请问javascript日期怎么加减:
例如:
var date = new Date(2009, 6, 1);
怎么得到date的前一天或后一天的日期
...全文
144 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sy_binbin 2009-07-13
  • 打赏
  • 举报
回复
<script language="javascript">
/* 得到日期年月日等加数字后的日期 */
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("d" ,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) +"年");
};
</script>
sd5816690 2009-07-13
  • 打赏
  • 举报
回复

<script>
var date = new Date(2009, 6, 1);
alert(date);
date.setDate(date.getDate() + 1);
alert(date);
</script>
hookee 2009-07-13
  • 打赏
  • 举报
回复
直接在相应位置上加减
var dt = new Date(2009,6,1); 
var dt1 = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate()-1);
var dt2 = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate()+1);
alert(dt1);
alert(dt2);

87,924

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧