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 编程引入命名空间的方法与代码
Aug 13 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
Jan 17 Javascript
jQuery之日期选择器的深入解析
Jun 19 Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
使用CSS样式position:fixed水平滚动的方法
Feb 19 Javascript
html5+javascript制作简易画板附图
Apr 25 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
Aug 24 Javascript
解析javascript瀑布流原理实现图片滚动加载
Mar 10 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
May 31 Javascript
jquery PrintArea 实现票据的套打功能(代码)
Mar 17 Javascript
150行代码带你实现微信小程序中的数据侦听
May 17 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 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
一个用php3编写的简单计数器
2006/10/09 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
深入理解PHP之OpCode原理详解
2016/06/01 PHP
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
layui的面包屑或者表单不显示的解决方法
2019/09/05 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
python实现爬取千万淘宝商品的方法
2015/06/30 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
python中scikit-learn机器代码实例
2018/08/05 Python
numpy下的flatten()函数用法详解
2019/05/27 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
python压包的概念及实例详解
2021/02/17 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
UDP协议功能
2013/01/06 面试题
幼儿园中秋节活动反思
2014/02/16 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL
分享一些Java的常用工具
2021/06/11 Java/Android