js获取一组日期中最近连续的天数


Posted in Javascript onMay 25, 2017

用js获取一组日期(并把当天算入)中连续的天数,具体内容如下

首先得有一组日期,比如:

var arr = [
'2016/02/28',
'2016/02/29', 
'2017/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;

转时间戳方法:

//转时间戳 
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();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解析arp病毒背后利用的Javascript技术附解密方法
Aug 06 Javascript
JavaScript Event学习第八章 事件的顺序
Feb 07 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
Feb 22 Javascript
jquery购物车实时结算特效实现思路
Sep 23 Javascript
详解JavaScript中双等号引起的隐性类型转换
May 30 Javascript
JS实现六边形3D拖拽翻转效果的方法
Sep 11 Javascript
激动人心的 Angular HttpClient的源码解析
Jul 10 Javascript
JS中使用new Option()实现时间联动效果
Dec 10 Javascript
vue-router命名路由和编程式路由传参讲解
Jan 19 Javascript
vue与bootstrap实现简单用户信息添加删除功能
Feb 15 Javascript
ES6 Iterator接口和for...of循环用法分析
Jul 31 Javascript
JS代码编译器Monaco使用方法
Jun 11 Javascript
AngularJs定时器$interval 和 $timeout详解
May 25 #Javascript
slideToggle+slideup实现手机端折叠菜单效果
May 25 #Javascript
Bootstrap实现的标签页内容切换显示效果示例
May 25 #Javascript
React-router中结合webpack实现按需加载实例
May 25 #Javascript
node.js操作mongodb简单示例分享
May 25 #Javascript
React-router 4 按需加载的实现方式及原理详解
May 25 #Javascript
node.js操作mysql简单实例
May 25 #Javascript
You might like
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
Prototype Selector对象学习
2009/07/23 Javascript
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
react-router中的属性详解
2017/06/01 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
python复制文件的方法实例详解
2015/05/22 Python
Python3编程实现获取阿里云ECS实例及监控的方法
2017/08/18 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
最新计算机专业自荐信
2013/10/16 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
工作会议方案
2014/05/21 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
Python中 range | np.arange | np.linspace三者的区别
2022/03/22 Python