用js获取一组日期(并把当天算入)中连续的天数,具体内容如下
首先得有一组日期,比如:
代码如下 | 复制代码 |
vararr = [ /02/28', /02/29', /02/26', /02/27', /02/28' ]; |
//日期格式需要注意,因为考虑到要判断日期的连续性,会把该数组中元素转为时间戳;
然后要加入当前日期,获取:
代码如下 | 复制代码 |
vardate =newDate(); vary = date.getFullYear(); varm = date.getMonth()+1; vard = date.getDate(); vartoday = y+'/'+m+'/'+d; 转时间戳方法: //转时间戳 functiontime(date){ returnnewDate(date); } |
开始判断计数:
代码如下 | 复制代码 |
varnum = 0;//声明计数变量; varle = arr.length;//数组长度; if(time(today)-time(arr[le-1])==86400000) //日期时间戳相差一天则连续;判断当前日期与最近一天 { num=2;//满足条件,连续2天; //然后对数组循环判断,满足则num++;否则中断循环; for(vari=le; i>0; i--){ if(time(arr[i-1])-time(arr[i-2])==86400000){ num++; }else{ break;//如果只要找出所有连续的天数,不需要中断 } console.log(num); } }else{ console.log('第一天'); } |
为了方便看效果可以将当前日期初始化;
today =/03/01'//为验证二月转三月特初始化;可省略
完整的:
代码如下 | 复制代码 |
functionlianxuDay(){ vararr = [ /02/28', /02/29', /02/26', /02/27', /02/28' ]; vardate =newDate(); vary = date.getFullYear(); varm = date.getMonth()+1; vard = date.getDate(); vartoday = y+'/'+m+'/'+d; today =/03/01'//为验证二月转三月特初始化;可省略 console.log(today); //转时间戳 functiontime(date){ returnnewDate(date); } varnum = 0;//声明计数变量; varle = arr.length;//数组长度; //console.log(time(today)-time(arr[le-1])); if(time(today)-time(arr[le-1])==86400000) //日期时间戳相差一天则连续,此法虽笨,但实用;判断当前日期与最近一天 { num=2;//满足条件,连续2天; //然后对数组循环判断,满足则num++;否则中断循环; for(vari=le; i>0; i--){ if(time(arr[i-1])-time(arr[i-2])==86400000){ num++; }else{ break;//如果只要找出所有连续的天数,不需要中断 } console.log(num); } }else{ console.log('第一天'); } } lianxuDay(); |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本网站。
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级