日期对象之时间比较

时间:2021-05-23 18:09:45

日期对象之时间比较

17:35:0019:20:11

当你拿到这两个字符串要去比大小的时候,你会怎么做?
反正我一拿到二话没说直接去写了一个转秒的函数,血亏…(感觉自己在说废话)

其实时间的比较有现成方法的,只要将字符串转成日期对象是直接可以比较大小的

t1 = new Date('2018-8-8 17:35:00')
t2 = new Date('2018-8-8 19:20:11')
console.log(t1<t2)  //true

再拓展下大家经常会用到的 时间段重合的判断,可以写成这样

//左大 小于 右小 即重合
三次大小判断

这个比较过程是先将日期对象转成时间戳进行的比较
日期转时间戳的方法有很多:

1. new Date().valueOf()
2. Date.now() //绝大部分浏览器兼容
2. +new Date('2018-9-8 1:1') 
3. Date.parse('2018-9-8 1:1') //精确到秒
4. new Date().getTime()

拓展 – >将时间戳转换为日期。

复制代码

var t = 1536339660000;  // 当参数为数字的时候,那么这个参数就是时间戳,被视为毫秒.。
console.log(new Date(t)) 

var t2 = "2018-8-8 12:00:00";
console.log(new Date(t2))

var t3 = "2018-1";
console.log(new Date(t3)) // 必须要年月,其他默认0