Javascript日期对象的dateAdd与dateDiff方法


Posted in Javascript onNovember 18, 2008
Date.prototype.dateAdd = function(interval,number) 
{ 
var d = this; 
var k={'y':'FullYear', 'q':'Month', 'm':'Month', 'w':'Date', 'd':'Date', 'h':'Hours', 'n':'Minutes', 's':'Seconds', 'ms':'MilliSeconds'}; 
var n={'q':3, 'w':7}; 
eval('d.set'+k[interval]+'(d.get'+k[interval]+'()+'+((n[interval]||1)*number)+')'); 
return d; 
} 
Date.prototype.dateDiff = function(interval,objDate2) 
{ 
var d=this, i={}, t=d.getTime(), t2=objDate2.getTime(); 
i['y']=objDate2.getFullYear()-d.getFullYear(); 
i['q']=i['y']*4+Math.floor(objDate2.getMonth()/4)-Math.floor(d.getMonth()/4); 
i['m']=i['y']*12+objDate2.getMonth()-d.getMonth(); 
i['ms']=objDate2.getTime()-d.getTime(); 
i['w']=Math.floor((t2+345600000)/(604800000))-Math.floor((t+345600000)/(604800000)); 
i['d']=Math.floor(t2/86400000)-Math.floor(t/86400000); 
i['h']=Math.floor(t2/3600000)-Math.floor(t/3600000); 
i['n']=Math.floor(t2/60000)-Math.floor(t/60000); 
i['s']=Math.floor(t2/1000)-Math.floor(t/1000); 
return i[interval]; 
}

dateAdd 方法
返回已添加指定时间间隔的日期对象。
dateObj.dateAdd(interval, number)
参数
dateObj
必选项。任意 Date 对象。
interval
必选项。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。
number
必选项。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。
dateDiff 方法
返回两个日期对象之间的时间间隔。
dateObj.dateDiff(interval, dateObj2)
参数
interval
必选项。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。
dateObj, dateObj2
必选项。日期对象。用于计算的两个日期对象。
设置
interval 参数可以有以下值:
设置 描述
y
q 季度
m
d
w
h 小时
n 分钟
s
ms 毫秒
Javascript 相关文章推荐
jquery validation插件表单验证的一个例子
Mar 03 Javascript
三级下拉菜单的js实现代码
May 23 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
Nov 06 Javascript
js判断上传文件后缀名是否合法
Jan 28 Javascript
百度地图给map添加右键菜单(判断是否为marker)
Mar 04 Javascript
JavaScript探测CSS动画是否已经完成的方法
Aug 30 Javascript
Angular.JS中select下拉框设置value的方法
Jun 20 Javascript
node+vue实现用户注册和头像上传的实例代码
Jul 20 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
Jan 02 jQuery
vue实现通讯录功能
Jul 14 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 Javascript
javascript canvas封装动态时钟
Sep 30 Javascript
js电信网通双线自动选择技巧
Nov 18 #Javascript
JavaScript脚本性能优化注意事项
Nov 18 #Javascript
javascript 字符串连接的性能问题(多浏览器)
Nov 18 #Javascript
js的闭包的一个示例说明
Nov 18 #Javascript
Ext面向对象开发实践(续)
Nov 18 #Javascript
Javascript打印网页部分内容的脚本
Nov 17 #Javascript
js实现简单模态窗口,背景灰显
Nov 14 #Javascript
You might like
PHP编程与应用
2006/10/09 PHP
php下intval()和(int)转换使用与区别
2008/07/18 PHP
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
微信小程序的线程架构【推荐】
2019/05/14 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
Python中的jquery PyQuery库使用小结
2014/05/13 Python
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
python Celery定时任务的示例
2018/03/13 Python
Python之list对应元素求和的方法
2018/06/28 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
详解Python绘图Turtle库
2019/10/12 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
会计毕业自我鉴定
2014/02/05 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
疾病防治方案
2014/05/31 职场文书
工程项目经理任命书
2014/06/05 职场文书
材料员岗位职责
2015/02/10 职场文书
常用的Python代码调试工具总结
2021/06/23 Python
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL
SpringBoot中使用Redis作为全局锁示例过程
2022/03/24 Java/Android