时间:2021-05-26
用js获取一组日期(并把当天算入)中连续的天数,具体内容如下
首先得有一组日期,比如:
var arr = ['2016/02/28','2016/02/29', '2017/02/26', '2017/02/27','2017/02/28']; //日期格式需要注意,因为考虑到要判断日期的连续性,会把该数组中元素转为时间戳;然后要加入当前日期,获取:
转时间戳方法:
//转时间戳 function time(date){ return new Date(date); }开始判断计数:
var num = 0;//声明计数变量;var le = arr.length;//数组长度;if(time(today)-time(arr[le-1])==86400000)//日期时间戳相差一天则连续;判断当前日期与最近一天{ num=2;//满足条件,连续2天; //然后对数组循环判断,满足则num++;否则中断循环; for(var i=le; i>0; i--){ if(time(arr[i-1])-time(arr[i-2])==86400000){ num++; }else{ break;//如果只要找出所有连续的天数,不需要中断 } 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;//声明计数变量; var le = arr.length;//数组长度; //console.log(time(today)-time(arr[le-1])); if(time(today)-time(arr[le-1])==86400000) //日期时间戳相差一天则连续,此法虽笨,但实用;判断当前日期与最近一天 { num=2;//满足条件,连续2天; //然后对数组循环判断,满足则num++;否则中断循环; for(var i=le; i>0; i--){ if(time(arr[i-1])-time(arr[i-2])==86400000){ num++; }else{ break;//如果只要找出所有连续的天数,不需要中断 } console.log(num); } }else{ console.log('第一天'); } } lianxuDay();以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
excel中yd的意思是:startdate与enddate日期中天数的差,忽略日期中的年。Y是指时间段中的整年数,D是时间段中的天数。 excel工作簿是E
本文实例讲述了JS简单获取日期相差天数的方法.分享给大家供大家参考,具体如下:JS日期相差天数vars1='2016-05-12';s1=newDate(s1.
假如有一组数组,如[1,2,3,4,5,6],可以看出这数组是连续的,那么如[1,2,3,5,6],这串数组就不是连续的了,用js写判断方法如下: fun
新的产品需求需要,要写一个这样的日历插件。效果图如下:选择日期后,显示当前可以选择的时间,时间的列表是通过ajax从后台获取的一组数据。而且这个日期存在的情况,
iPhonexr的低快门延时和快速识别人脸的功能,可以实现人物跑步或者是运动的过程中连续抓拍,之后只需要人物采取最舒服自然的状态连续拍摄,即可获取一组背景虚化的