JS 如何比较时间大小?

JavaScript010

JS 如何比较时间大小?,第1张

1、打开Sublime  Text软件,新建HTML文档,并准备HTML结构

2、然后我们在body标签中准备好页面加载事件

3、在页面加载事件中,我们准备两个日期字符串,如下图所示,这里准备日期字符串的原因是因为很多前端的日期值一开始都是字符串的形式

5、接下来我们利用JS中的new Date方式将日期字符串转化为日期对象

6、接下来我们就可以运用IF语句直接对日期对象进行比较了

7、最后运行页面以后,我们就可以看到弹出窗口显示了比较的结果

你好,比较两个值的大小,最简单的方法,两个值相减和0比较,日期的比较同样适用:

var a = new Date("2015/05/20 13:21:00"), // 将一个日期字符串转换成日期对象

    b = new Date("2015/05/20 13:20:00") // 同上,注意字符串,b比a小1分钟

var millisecond = a - b // 得到60000毫秒,即60秒,大于0,显然a > b

这里直接使用 a - b,进行两个日期对象相减,实际是使用了js的一些隐式转换,等价于:

var millisecond = a.getTime() - b.getTime()

希望能帮你解决问题,如有疑问,欢迎追问,望采纳~~

/* 得到日期年月日等加数字后的日期 */

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]

}