js獲取一組日期中最近連續(xù)的天數(shù)
更新時間:2017年05月25日 11:17:30 作者:qiuluo
這篇文章主要為大家詳細介紹了js獲取一組日期中最近連續(xù)的天數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
用js獲取一組日期(并把當天算入)中連續(xù)的天數(shù),具體內容如下
首先得有一組日期,比如:
var arr = [ '2016/02/28', '2016/02/29', '2017/02/26', '2017/02/27', '2017/02/28' ]; //日期格式需要注意,因為考慮到要判斷日期的連續(xù)性,會把該數(shù)組中元素轉為時間戳;
然后要加入當前日期,獲取:
var date = new Date(); var y = date.getFullYear(); var m = date.getMonth()+1; var d = date.getDate(); var today = y+'/'+m+'/'+d;
轉時間戳方法:
//轉時間戳 function time(date){ return new Date(date); }
開始判斷計數(shù):
var num = 0;//聲明計數(shù)變量; var le = arr.length;//數(shù)組長度; if(time(today)-time(arr[le-1])==86400000) //日期時間戳相差一天則連續(xù);判斷當前日期與最近一天 { num=2;//滿足條件,連續(xù)2天; //然后對數(shù)組循環(huán)判斷,滿足則num++;否則中斷循環(huán); for(var i=le; i>0; i--){ if(time(arr[i-1])-time(arr[i-2])==86400000){ num++; }else{ break;//如果只要找出所有連續(xù)的天數(shù),不需要中斷 } console.log(num); } }else{ console.log('第一天'); }
為了方便看效果可以將當前日期初始化;
today = '2017/03/01';//為驗證二月轉三月特初始化;可省略
完整的:
function lianxuDay(){ var arr = [ '2016/02/28', '2016/02/29', '2016/02/26', '2017/02/27', '2017/02/28' ]; var date = new Date(); var y = date.getFullYear(); var m = date.getMonth()+1; var d = date.getDate(); var today = y+'/'+m+'/'+d; today = '2017/03/01';//為驗證二月轉三月特初始化;可省略 console.log(today); //轉時間戳 function time(date){ return new Date(date); } var num = 0;//聲明計數(shù)變量; var le = arr.length;//數(shù)組長度; //console.log(time(today)-time(arr[le-1])); if(time(today)-time(arr[le-1])==86400000) //日期時間戳相差一天則連續(xù),此法雖笨,但實用;判斷當前日期與最近一天 { num=2;//滿足條件,連續(xù)2天; //然后對數(shù)組循環(huán)判斷,滿足則num++;否則中斷循環(huán); for(var i=le; i>0; i--){ if(time(arr[i-1])-time(arr[i-2])==86400000){ num++; }else{ break;//如果只要找出所有連續(xù)的天數(shù),不需要中斷 } console.log(num); } }else{ console.log('第一天'); } } lianxuDay();
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
JS實現(xiàn)網(wǎng)頁端猜數(shù)字小游戲
這篇文章主要為大家詳細介紹了JS實現(xiàn)網(wǎng)頁端猜數(shù)字小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03JavaScript 上萬關鍵字瞬間匹配實現(xiàn)代碼
發(fā)一篇之前寫的文章,平時還是經(jīng)常用到的,尤其是河蟹詞特別多的聊天系統(tǒng)里2013-07-07