6
回答
javascript 判断两个时间段之差不超过3个月?
极速云服务器,低至1.04元/天>>>   
javascript 判断两个时间段之差不超过3个月      即:  两个时间段起始时间和截止时间之差不超过3个月 , 在javascript里面怎么判断 ?
<无标签>
举报
小凯_LOL
发帖于5年前 6回/3K+阅
共有6个答案 最后回答: 5年前

new date(1990-09-09)

new date(1999-09-09)

 

 

js 支持直接new 但是有一定的格式不知道是 yyyy-MM-dd  or   yyyy/mm/dd 

 

 直接判断

如果说你说的三个月就是90天的话,那上面的已经给出答案了。

如果是纯粹的三个月(不管每个月是29天,30天还是三十一天),那我说说我的做法

首先最近看到一个挺方便的js插件--sugarjs,感觉用起来爽的,所以我这运用的此js

先问一下的的两个时间格式是什么yyyy-MM-dd hh:mm:ss?还是 Wed Jun 9 13:12:01 UTC+0800 2010 这种形式,如果是后面这种就不用转换了,前面这种就需要转成后面这种格式,这里给出我的解答方案

 

time1="2010-06-09 13:12:01";

time2="2010-09-08 13:12:01";

var t = "2010-06-09 13:12:01".split(/[- :]/);
 var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);//将time1转格式

var after3mouth=d.advance('3 mouth');//求出三个月后的日期(Thu Sep 9 13:12:01 UTC+0800 2010)

//接着把t2这个时间也转格式,步骤和t1转格式一样

var t2 = "2010-06-09 13:12:01".split(/[- :]/);
var d2= new Date(t2[0], t2[1]-1, t2[2], t2[3], t2[4], t2[5]);//将time2转格式

//最后用sugarjs中的isAfter方法(isBefore方法也行)

alert(after3mouth.isAfer(d2));//如果是true则说明三个月后的时间大于d2,那么t1和t2时间之差在三个月内。

注意:此处我只是当做t2比t1大,如果不知道哪个时间更大,那用isAfter先比较一番,我在此未做比较。
此处用到的sugarjs可以进官网下载http://sugarjs.com/
advance方法api:http://sugarjs.com/api/Date/advance
isAfter方法api:http://sugarjs.com/api/Date/isAfter
我下的是sugar-1.3.min.js,应该这是最新版本吧,挺小的40多kb,用的时候直接导入就行

 

顶部