JS比較兩個日期的大小
吳維煒
於 2018-08-03 17:57:47 發佈
30629
收藏 20
分類專欄: 前耑就那麽廻事 文章標簽: js日期大小的比較 比較日期大小
版權
訂閲專欄
超級會員免費看
最近遇到一個問題是關於日期的大小比較,如果日期不同位就會出現判斷錯誤,所以這裡驚醒一下自己。出現這個情況的原因是,字符串比較小,遵循從左到右的原則,'2’和’1314’比較,'2’大於’1314’。
方法一:
function CompareDate(d1,d2)
{
return ((new Date(d1.replace(/-/g,"\/"))) > (new Date(d2.replace(/-/g,"\/"))));
}
var current_time ="2018-7-3 7:30";
var stop_time ="2018-8-31 8:30";
alert(CompareDate(current_time,stop_time));
1
方法二:
vardate= new Date();
//2把字符串格式轉換爲日期類
var startTime = new Date(Date.parse(begintime));
var endTime = new Date(Date.parse(endtime));
//進行比較
return (startTime>endTime);
//return (startTime>endTime);
————————————————
版權聲明:本文爲CSDN博主「吳維煒」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出処鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_38209578/article/details/81392199
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()轉成時間戳進行對比
0條評論