js用Date对象的setDate()函数对日期进行加减操作


Posted in Javascript onSeptember 18, 2014

想自己写一个日期的加减方法,但是涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,有些复杂,应用过程中总是出现问题,于是查了下资料,以在某个日期上加减天数来说,其实只要调用Date对象的setDate()函数就可以了,具体方法如下:

function addDate(date,days){ 
var d=new Date(date); 
d.setDate(d.getDate()+days); 
var month=d.getMonth()+1; 
var day = d.getDate(); 
if(month<10){ 
month = "0"+month; 
} 
if(day<10){ 
day = "0"+day; 
} 
var val = d.getFullYear()+""+month+""+day; 
return val; 
}

其中,date参数是要进行加减的日期,格式YYYY-MM-DD,days参数是要加减的天数,如果往前算就传入负数,往后算就传入正数,如果是要进行月份的加减,就调用setMonth()和getMonth()就可以了,需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1。

特别:注意年月日组合的时候,不能直接+,会当做int类型求和,要转换成字符串。

Javascript 相关文章推荐
JS 遮照层实现代码
Mar 31 Javascript
IE6不能修改NAME问题的解决方法
Sep 03 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
Sep 12 Javascript
Jquery选中或取消radio示例
Sep 29 Javascript
PHP中CURL的几个经典应用实例
Jan 23 Javascript
jQuery实现左右切换焦点图
Apr 03 Javascript
jquery获取复选框checkbox的值的简单实现方法
May 26 Javascript
纯js实现的积木(div层)拖动功能示例
Jul 19 Javascript
JavaScript实现省份城市的三级联动
Feb 11 Javascript
解决Vue-cli无法编译es6的问题
Oct 30 Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 13 Javascript
一分钟学会JavaScript中的try-catch
Dec 14 Javascript
JS应用正则表达式转换大小写示例
Sep 18 #Javascript
使用不同的方法结合/合并两个JS数组
Sep 18 #Javascript
js实现按Ctrl+Enter发送效果
Sep 18 #Javascript
javascript搜索框点击文字消失失焦时文本出现
Sep 18 #Javascript
输入框过滤非数字的js代码
Sep 18 #Javascript
小结Node.js中非阻塞IO和事件循环
Sep 18 #Javascript
JavaScript将取代AppleScript?
Sep 18 #Javascript
You might like
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
Django model select的多种用法详解
2019/07/16 Python
Python面向对象之Web静态服务器
2019/09/03 Python
python编写微信公众号首图思路详解
2019/12/13 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
CSS3样式linear-gradient的使用实例
2017/01/16 HTML / CSS
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
Lookfantastic美国/加拿大:英国知名美妆购物网站
2019/03/27 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
外贸业务员求职信
2014/06/16 职场文书
我的中国梦演讲稿1000字
2014/08/19 职场文书
保护校园环境倡议书
2015/04/28 职场文书
致我们终将逝去的青春观后感
2015/06/10 职场文书
2016新年感言
2015/08/03 职场文书
2016年寒假家长评语
2015/10/10 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
CSS的calc函数用法小结
2022/06/25 HTML / CSS