逻辑思路

  • 得到标准的字符串格式的日期,一般我们的字符串格式的日期,大多是这样:​​2015/01/12​​ or ​​2017-8-13​​,前者是比較标准的字符串格式,后者在火狐下直接使用 ​​Date.parse()​​ 方法会报错,
  • 所以为了兼容所有的浏览器,我们先要把日期字符串格式全部转成前者统一下,之后再调用​​Date.parse()​​ 将日期字符串转成时间戳.
  • 直接比较 ( > | <)

完整代码

var date1 = '2019-9-8'
var date2 = '2019-9-14' //字符串日期

//正则将字符串格式转换统一标准格式
var date1_s = date1.replace(/\-/g,'/')` //输出:2019/9/4.
var date2_s = date2.replace(/\-/g,'/')

//替换字符,变成标准格式
var date1_s = date1.replace("-","/"); //输出:2019/9/4.

var date1_unix=Date.parse(date1_s) //將字符串格式日期转化为时间戳,就是1970年到当前日期的毫秒数
var date2_unix=Date.parse(date2_s) //將字符串格式日期转化为时间戳,就是1970年到当前日期的毫秒数

if(date2_unix > date1_unix){
alert('date2 > date1')
}