js中如何比较两个时间大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中如何比较两个时间大小相关的知识,希望对你有一定的参考价值。

参考技术A /* 得到日期年月日等加数字后的日期 */
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];

参考资料:http://www.cnblogs.com/cuixiping/archive/2008/11/16/1334510.html

参考技术B Date.parse(time1) > Date.parse(time2) 参考技术C js用这个就可以了
DateTime a = DateTime.parse("2012-12-27 00:00:00");
DateTime b = DateTime.parse("2012-12-10 00:00:00");

a > b
参考技术D DateTime a = DateTime.parse("2010-1-9 8:00:00");
DateTime b = DateTime.parse("2010-1-13 13:41:52");
return a > b;
-----------------------------------------------------
date1=new Date("2002/1/1")
date2=new Date("2002/1/2")
alert(Date.parse(date1)<Date.parse(date2))

http://blog.163.com/da7_1@126/blog/static/104072678201087112028185/

以上是关于js中如何比较两个时间大小的主要内容,如果未能解决你的问题,请参考以下文章

JS 如何比较时间大小?

js两个时间大小的比较问题(只有时间比较,比如14:00和15:00的比较)

js 比较两个版本的大小 比如 4.5.1和 4.6.2

js时间比较问题 如何只比较两个时和分的大小?

关于SHELL脚本中日期大小的比较

SQL语句中怎样比较两个日期的大小?