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之解决IE下不渲染的bug
Jun 29 Javascript
IE和FireFox(FF)中js和css的不同
Apr 13 Javascript
js取得html iframe中的元素和变量值
Jun 30 Javascript
jQuery实现异步获取json数据的2种方式
Aug 29 Javascript
JavaScript中获取高度和宽度函数总结
Oct 08 Javascript
如何实现JavaScript动态加载CSS和JS文件
Dec 28 Javascript
jQuery事件委托之Safari
Jul 05 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
Dec 28 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
Aug 16 Javascript
vue .sync修饰符的使用详解
Jun 15 Javascript
微信小程序实现横向增长表格的方法
Jul 24 Javascript
微信小程序swiper使用网络图片不显示问题解决
Dec 13 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
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
浅谈JS继承_借用构造函数 &amp; 组合式继承
2016/08/16 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
vue-quill-editor富文本编辑器简单使用方法
2018/09/21 Javascript
浅谈js闭包理解
2019/04/01 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
[05:40]DOTA2荣耀之路6:Wings最后进攻
2018/05/30 DOTA
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
Whistles官网:英国女装品牌
2020/08/14 全球购物
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
副护士长竞聘演讲稿
2014/04/30 职场文书
合作经营协议书范本
2014/09/16 职场文书
先进典型事迹材料
2014/12/29 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
个人催款函范文
2015/06/23 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
python 详解turtle画爱心代码
2022/02/15 Python