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

发布时间 - 2026-01-11 01:17:39    点击率:

用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();

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


# js获取日期最近连续天数  # js获取日期  # js获取最近连续天数  # JS简单获取日期相差天数的方法  # javascript比较两个日期相差天数的方法  # js 日期比较相关天数代码  # javaScript 计算两个日期的天数相差(示例代码)  # JS 两日期相减  # 获得天数的小例子(兼容IE  # FF)  # 用javascript实现计算两个日期的间隔天数  # 不需要  # 考虑到  # 并把  # 需要注意  # 具体内容  # 大家多多  # 此法  # 组中  # 把该  # 当天  # 有一组  # 算入  # js  # var  # brush  # class  # pre  # arr  # gt  # break 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何用wdcp快速搭建高效网站?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  长沙做网站要多少钱,长沙国安网络怎么样?  北京专业网站制作设计师招聘,北京白云观官方网站?  重庆市网站制作公司,重庆招聘网站哪个好?  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  黑客如何利用漏洞与弱口令入侵网站服务器?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  EditPlus中的正则表达式实战(6)  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  如何为不同团队 ID 动态生成多个独立按钮  Python进程池调度策略_任务分发说明【指导】  jQuery中的100个技巧汇总  HTML 中如何正确使用模板变量为元素的 name 属性赋值  EditPlus 正则表达式 实战(3)  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Laravel storage目录权限问题_Laravel文件写入权限设置  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  如何在阿里云购买域名并搭建网站?  如何在云指建站中生成FTP站点?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  如何确认建站备案号应放置的具体位置?  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  如何用花生壳三步快速搭建专属网站?  如何挑选最适合建站的高性能VPS主机?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  如何有效防御Web建站篡改攻击?  如何快速搭建高效WAP手机网站?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  实例解析Array和String方法  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  文字头像制作网站推荐软件,醒图能自动配文字吗?