一、比较两个字符串格式的日期

思路:先得到两个字符串格式的日期,之后利用Date.parse()方法把这些字符串日期转成时间戳(实际上就是计算出从1970年00:00:00到目前时间日期的毫秒数),然后再比较两个时间戳的大小,就能判断日期大小。

1、得到标准的字符串格式的日期

一般我们的字符串格式的日期,大多是这样:’2015/01/12’或者是 ‘2017-8-13’,前者是比較标准的字符串格式,后者在火狐下直接使用Date.parse()方法会报错,所以如果为了兼容所有的浏览器,我们先要把日期字符串格式全部转成前者统一下

let date1='2016-8-13'
let date2='2016-8-23' //字符串日期

转换格式

let date1_s=date1.replace(/\-/g,'/')`   //利用正则将字符串格式转换统一标准格式 date1_s输出:2016/8/23.
let date2_s=date2.replace(/\-/g,'/')

2、转成时间戳

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

3、比较

我直接用 大于号>进行的比较

二、比较字符串格式的日期和new Date()的日期

使用new Date()的toLocaleDateString方法,new Date().toLocaleDateString()获取yyyy/mm/dd格式的日期,然后再Date.parse()转成时间戳进行对比