您的位置:首页 > Web前端 > JavaScript

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 参数可以有以下值:

设置描述

q季度
m
d
w
h小时
n分钟
s
ms毫秒
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: