JavaScript——扩展Date对象,自定义一个dateDiff函数
2016-08-27 10:35
465 查看
这段时间在项目中,前台的数据处理过程中,遇到了一个问题。将两个日期进行相加减,找了一圈,API中愣是没找到这个方法。无奈只好用扩展函数的形式来解决问题了。思路:自定义一个DateDiff函数,然后通过property来进行对象扩展。让Date对象拥有这个功能。其实,说白了这是js插件的思想啊!呵呵
不多说了,自己上代码!纯干货分享:喜欢的,直接拿去吧!
<span style="font-family:KaiTi_GB2312;font-size:18px;">
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];
} </span>
注意:使用的时候,要注意,传interval这个参数的时候:需要用单引号括起来。
这个插件用来,返回两个日期对象之间的时间间隔。
dateObj.dateDiff(interval, dateObj2)
参数
interval
必选项。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。
dateObj, dateObj2
必选项。日期对象。用于计算的两个日期对象。
设置 :interval 参数可以有以下值:
不多说了,自己上代码!纯干货分享:喜欢的,直接拿去吧!
<span style="font-family:KaiTi_GB2312;font-size:18px;">
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];
} </span>
注意:使用的时候,要注意,传interval这个参数的时候:需要用单引号括起来。
这个插件用来,返回两个日期对象之间的时间间隔。
dateObj.dateDiff(interval, dateObj2)
参数
interval
必选项。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。
dateObj, dateObj2
必选项。日期对象。用于计算的两个日期对象。
设置 :interval 参数可以有以下值:
设置 | 描述 |
---|---|
y | 年 |
q | 季度 |
m | 月 |
d | 日 |
w | 周 |
h | 小时 |
n | 分钟 |
s | 秒 |
ms | 毫秒 |
相关文章推荐
- 给 Javascript 的 日期(Date)对象扩展一个格式化(format)方法
- Javascript 日期对象Date扩展方法
- 如何给JavaScript添加一个自定义对象
- 扩展javascript date对象增加format
- 【Date类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- JavaScript中扩展字符串与Date对象之间的转换,支持大多数日期格式的字符串(包括中文)
- JavaScript基础 Date(num) num为毫秒值 创建一个时间对象
- 给 Javascript 的 string 对象扩展一个 format 方法
- 轻松学习JavaScript十:JavaScript的Date对象制作一个简易钟表
- JavaScript中Date对象的几个扩展方法
- Javascript 日期对象Date扩展方法
- JavaScript基础 Date(num) num为毫秒值 创建一个时间对象
- 详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
- JavaScript---网络编程(4)-Date、Math、Global和自定义对象
- JavaScript---网络编程(4)-Date、Math、Global和自定义对象
- JavaScript中扩展字符串与Date对象之间的转换,支持大多数日期格式的字符串(包括中文)
- Javascript 扩展Date对象,实现字符串与Date按指定格式字符串互转
- javascript扩展date对象格式化日期时间输出(二)
- javascript扩展date对象格式化日期时间输出
- JavaScript中扩展字符串与Date对象之间的转换,支持大多数日期格式的字符串(包括中文)