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的自动完成插件
Feb 03 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
Jan 20 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
js获取一组日期中最近连续的天数
May 25 Javascript
Node.js 基础教程之全局对象
Aug 06 Javascript
基于jQuery.i18n实现web前端的国际化
May 04 jQuery
详解在React中跨组件分发状态的三种方法
Aug 09 Javascript
微信小程序实现动态获取元素宽高的方法分析
Dec 10 Javascript
JS根据json数组多个字段排序及json数组常用操作
Jun 06 Javascript
详解vuex的简单todolist例子
Jul 14 Javascript
JS函数参数的传递与同名参数实例分析
Mar 16 Javascript
JS数组的常用10种方法详解
May 08 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
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
理解Javascript_05_原型继承原理
2010/10/13 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
2015/10/24 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
Python translator使用实例
2008/09/06 Python
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
在Django中创建动态视图的教程
2015/07/15 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
Delphi CS笔试题
2014/01/04 面试题
儿科护理实习自我鉴定
2013/09/19 职场文书
在校生自我鉴定
2014/01/23 职场文书
认购协议书范本
2014/04/22 职场文书
公司爱心捐款倡议书
2014/05/14 职场文书
单位工作证明
2014/10/07 职场文书
舞出我人生观后感
2015/06/16 职场文书
nginx之内存池的实现
2022/06/28 Servers