js中比较两个日期的大小
一、比较两个字符串格式的日期
思路:先得到两个字符串格式的日期,之后利用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()转成时间戳进行对比