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 相关文章推荐
JQuery Tips相关(1)----关于$.Ready()
Aug 14 Javascript
JS+CSS实现简易实用的滑动门菜单效果
Sep 18 Javascript
jquery对象和DOM对象的相互转换详解
Oct 18 Javascript
详解在Vue中如何使用axios跨域访问数据
Jul 07 Javascript
原生js实现移动端Touch轮播图的方法步骤
Jan 03 Javascript
extract-text-webpack-plugin用法详解
Feb 14 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
Aug 16 Javascript
Vue 权限控制的两种方法(路由验证)
Aug 16 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
Aug 28 Javascript
基于JS实现计算24点算法代码实例解析
Jul 23 Javascript
详解 javascript对象创建模式
Oct 30 Javascript
node脚手架搭建服务器实现token验证的方法
Jan 20 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
漂亮但不安全的CTB
2006/10/09 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
2012/02/16 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
2020/04/29 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
Python卸载模块的方法汇总
2016/06/07 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
python 常用的基础函数
2018/07/10 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
django配置app中的静态文件步骤
2020/03/27 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
python之语音识别speech模块
2020/09/09 Python
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
Unix如何在一行中运行多个命令
2015/05/29 面试题
英语专业毕业生自我鉴定
2013/11/09 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
食品采购员岗位职责
2014/04/14 职场文书
青春奉献演讲稿
2014/05/08 职场文书
校庆标语集锦
2014/06/25 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
政风行风整改报告
2014/11/06 职场文书
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏