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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
Mar 02 Javascript
javascript中interval与setTimeOut的区别示例介绍
Mar 14 Javascript
js代码实现无缝滚动(文字和图片)
Aug 20 Javascript
Bootstrap所支持的表单控件实例详解
May 16 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
JavaScript数据结构之链表的实现
Mar 19 Javascript
vue2.0 中#$emit,$on的使用详解
Jun 07 Javascript
Webpack如何引入bootstrap的方法
Jun 17 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
Feb 09 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
vue项目实现减少app.js和vender.js的体积操作
Nov 12 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的memcached客户端memcached
2011/06/14 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
学习ExtJS table布局
2009/10/08 Javascript
JavaScript 数组循环引起的思考
2010/01/01 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
js数组与字符串常用方法总结
2017/01/13 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
python实现目录树生成示例
2014/03/28 Python
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
Python CSV模块使用实例
2015/04/09 Python
python使用psutil模块获取系统状态
2016/08/27 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
在Django中实现添加user到group并查看
2019/11/18 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
python编写实现抽奖器
2020/09/10 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
新闻专业本科生的自我评价分享
2013/11/20 职场文书
领导失职检讨书
2014/02/24 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
交通事故起诉书
2015/05/19 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
golang 语言中错误处理机制
2021/08/30 Golang
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL