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 相关文章推荐
innerHTML,outerHTML,innerText,outerText的用法及区别解析
Dec 16 Javascript
通用javascript代码判断版本号是否在版本范围之间
Nov 29 Javascript
js获取url传值的方法
Dec 18 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
Feb 16 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
Feb 25 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
May 24 Javascript
JSON 必知必会 观后记
Oct 27 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
Feb 23 Javascript
vue v-model表单控件绑定详解
May 17 Javascript
vue父组件给子组件的组件传值provide inject的方法
Oct 23 Javascript
基于PHP pthreads实现多线程代码实例
Jun 24 Javascript
vue中路由跳转不计入history的操作
Sep 21 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
Laravel中10个有用的用法小结
2019/05/06 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
2018/09/18 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
vue $router和$route的区别详解
2020/12/02 Vue.js
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
Python 登录网站详解及实例
2017/04/11 Python
python中关于for循环的碎碎念
2017/06/30 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
python日志模块logbook使用方法
2019/09/19 Python
python超时重新请求解决方案
2019/10/21 Python
将pycharm配置为matlab或者spyder的用法说明
2020/06/08 Python
解决keras backend 越跑越慢问题
2020/06/18 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
python求解汉诺塔游戏
2020/07/09 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
高级文秘工作总结的自我评价
2013/09/28 职场文书
电子商务个人自荐信
2013/12/12 职场文书
幼儿教师国培感言
2014/02/19 职场文书
国庆宣传标语
2014/06/30 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
MySQL常用慢查询分析工具详解
2022/08/14 MySQL