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 相关文章推荐
Javascript 函数对象的多重身份
Jun 28 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
Jan 17 Javascript
关于img的href和src取变量及赋值的方法
Apr 28 Javascript
jquery滚动特效集锦
Jun 03 Javascript
深入剖析JavaScript编程中的对象概念
Oct 21 Javascript
canvas实现图像放大镜
Feb 06 Javascript
SpringMVC+bootstrap table实例详解
Jun 02 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
Aug 13 Javascript
Iview Table组件中各种组件扩展的使用
Oct 20 Javascript
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
addEventListener()和removeEventListener()追加事件和删除追加事件
Dec 04 Javascript
vite+vue3.0+ts+element-plus快速搭建项目的实现
Jun 24 Vue.js
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输出XML到页面的3种方法详解
2013/06/06 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
jQuery统计指定子元素数量的方法
2015/03/17 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
python实现俄罗斯方块游戏
2020/03/25 Python
Python给图像添加噪声具体操作
2019/03/03 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
python实现超市商品销售管理系统
2019/11/22 Python
flask开启多线程的具体方法
2020/08/02 Python
文秘专业大学生求职信
2013/11/10 职场文书
工程力学硕士生的自我评价范文
2013/11/16 职场文书
献爱心标语
2014/06/21 职场文书
房产授权委托书范本
2014/09/22 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
借钱欠条怎么写
2015/07/03 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
如何Tomcat中使用ipv6地址
2022/05/06 Servers