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 相关文章推荐
基于jquery的自定义鼠标提示效果 jquery.toolTip
Nov 14 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
Dec 03 Javascript
javascript Slip.js实现整屏滑动的手机网页
Nov 25 Javascript
炫酷的js手风琴效果
Oct 13 Javascript
详解handlebars+require基本使用方法
Dec 21 Javascript
JS验证全角与半角及相互转化的介绍
May 18 Javascript
webpack 2的react开发配置实例代码
Jul 28 Javascript
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
React如何实现浏览器打印部分内容详析
May 19 Javascript
layui实现二维码弹窗、并下载到本地的方法
Sep 25 Javascript
在Vue项目中,防止页面被缩放和放大示例
Oct 28 Javascript
JS实现纵向轮播图(初级版)
Jan 18 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
德劲1107的电路分析与打磨
2021/03/02 无线电
深入array multisort排序原理的详解
2013/06/18 PHP
php学习笔记之基础知识
2014/11/08 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
php接口隔离原则实例分析
2019/11/11 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
javascript中局部变量和全局变量的区别详解
2015/02/27 Javascript
基于jquery实现轮播焦点图插件
2016/03/31 Javascript
javascript类型系统——undefined和null全面了解
2016/07/13 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
小程序开发之模态框组件封装
2020/04/23 Javascript
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
python的slice notation的特殊用法详解
2019/12/27 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
某同学的自我鉴定范文
2013/12/26 职场文书
老人祝寿主持词
2014/03/28 职场文书
企业标语大全
2014/07/01 职场文书
运动会报道稿大全
2015/07/23 职场文书
HR必备:销售经理聘用合同范本
2019/08/21 职场文书
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js