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 相关文章推荐
精通Javascript系列之数值计算
Jun 07 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
Dec 29 Javascript
js完美的div拖拽实例代码
Jan 22 Javascript
触屏中的JavaScript事件分析
Feb 06 Javascript
js对象浅拷贝和深拷贝详解
Sep 05 Javascript
Vue form 表单提交+ajax异步请求+分页效果
Apr 22 Javascript
node结合swig渲染摸板的方法
Apr 11 Javascript
vue 修改 data 数据问题并实时显示的方法
Aug 27 Javascript
VUE中使用MUI方法
Feb 12 Javascript
Nuxt使用Vuex的方法示例
Sep 06 Javascript
jQuery实现的上拉刷新功能组件示例
May 01 jQuery
Vue记住滚动条和实现下拉加载的完美方法
Jul 31 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
中国的第一台收音机
2021/03/01 无线电
提升PHP执行速度全攻略(上)
2006/10/09 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
file_get_contents("php://input", "r")实例介绍
2013/07/01 PHP
php 判断服务器操作系统的类型
2014/02/17 PHP
php中smarty区域循环的方法
2015/06/11 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
2020/06/22 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
Python实现带百分比的进度条
2016/06/28 Python
Python之读取TXT文件的方法小结
2018/04/27 Python
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
美国顶级防滑鞋:Shoes For Crews
2017/03/27 全球购物
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
中国旅游网站:途牛旅游网
2019/09/29 全球购物
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
J2EE包括哪些技术
2016/11/25 面试题
优秀的茶餐厅创业计划书
2014/01/03 职场文书
故宫导游词
2015/01/31 职场文书
单位更名证明
2015/06/18 职场文书
MySQL多表查询机制
2022/03/17 MySQL