永发信息网

Javascript 中的日期运算

答案:1  悬赏:10  手机版
解决时间 2021-04-28 01:27

<script>
function DateAdd(interval,number,date)
{

switch(interval)
{
case "y" : {
date.setFullYear(date.getFullYear()+number);
return date;
break;
}
case "q" : {
date.setMonth(date.getMonth()+number*3);
return date;
break;
}
case "m" : {
date.setMonth(date.getMonth()+number);
return date;
break;
}
case "w" : {
date.setDate(date.getDate()+number*7);
return date;
break;
}
case "d" : {
date.setDate(date.getDate()+number);
return date;
break;
}
case "hh" : {
date.setHours(date.getHours()+number);
return date;
break;
}
case "mm" : {
date.setMinutes(date.getMinutes()+number);
return date;
break;
}
case "ss" : {
date.setSeconds(date.getSeconds()+number);
return date;
break;
}
default : {
date.setDate(d.getDate()+number);
return date;
break;
}
}
}
</script>

这个方法可以实现在一个日期增加N年、N月等,

但有些特殊的日期,如2009-11-30,

如果加上3个月后,结果就是2010-02-30,

但系统会自动转成2010-03-02或2010-03-03。

我想要的是2010年2月的最后一天,这样的特殊日期些我该怎么搞?

最佳答案
用加完之后的月份a减之前的月份,加上12,
用这个值模除12,如果结果比number大,就给a继续减一个月,然后取这个月的最后一天。
希望有用:)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
睡眠严重不足时受孕以后会婴儿发育吗
我的宝宝是去年8月1日出生的,想给他取个名字
移动的能不能开通会员年费的?
计算机专业哪个专业好,北航哪些专业就业前景
QQ飞车单独按左键可以左转,但再加上↑就只能
我的索爱w908c的应用文件和游戏有部分出现了
快乐向前冲 0627无删减,清晰点的谁能发给我
淘宝冲100的电话卡有多少钱
已知sin(派+a)=-1/3,(0<a<派/3),求co
是饭前喝水好还是饭后喝水好
gmeil邮箱帐户和163邮箱帐户如何才能同时发送
半岛都市报宁夏路发行站我想知道这个在什么地
北京的哪个游乐园里有比较好的摩天轮啊?拜托
衣服上有玻璃胶怎么洗,衣服上的玻璃胶怎么去
剪发这个技能好不好
推荐资讯
嚼口香糖有哪些利和弊?
冒险岛剑客怎么加技能点 不是学斧头的
江门市体育运动学校在哪里啊,我有事要去这个
求《毕业生》里的比较出明的歌曲 我知道《斯
感情这东西是不是永恒的?求急!
DNF第九章有没有好装备
中国有多少个省、直辖市、自治区?
怎样才能使我不再自卑…相信爱情
那个是我的emali
诺基亚那款手机配置好?
开心农场怎样登陆
宁海县润欣汽车油漆店地址在什么地方,想过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?