js获取连续签到的日期天数,以当前时间为基准,当天或者前一天有签到,算是连续签到

时间: 2024-05-15 22:13:55 浏览: 9
可以通过以下步骤获取连续签到的日期天数: 1. 获取当前时间的年、月、日信息。 2. 获取上一天的日期信息。 3. 判断当前日期和上一天是否有签到记录,如果有,则将计数器加1。 4. 重复步骤3,直到找到一个没有签到记录的日期为止。 5. 返回计数器的值,即连续签到的天数。 下面是一个示例代码实现: ```javascript // 假设已经存在一个 signLogs 数组,记录了每天的签到情况,格式为 { date: 'yyyy-mm-dd', signed: true/false } function getContinuousSignInDays() { let today = new Date(); let yesterday = new Date(today); yesterday.setDate(yesterday.getDate() - 1); let todayStr = formatDate(today); let yesterdayStr = formatDate(yesterday); let count = 0; let idx = signLogs.findIndex(log => log.date === todayStr || log.date === yesterdayStr); while (idx >= 0 && signLogs[idx].signed) { count++; idx--; } return count; } function formatDate(date) { let year = date.getFullYear(); let month = padZero(date.getMonth() + 1, 2); let day = padZero(date.getDate(), 2); return `${year}-${month}-${day}`; } function padZero(num, len) { return ('0'.repeat(len) + num).slice(-len); } ``` 其中,`signLogs` 数组中的每个元素包含了当天的日期信息和签到情况。`formatDate` 函数用于将 Date 对象格式化为 yyyy-mm-dd 格式的字符串,`padZero` 函数用于在数字前面补0,确保输出的字符串长度为2。`getContinuousSignInDays` 函数则是主要的计算逻辑,通过遍历 `signLogs` 数组,从当前日期和前一天开始,找到第一个没有签到记录的日期为止,返回连续签到的天数。

相关推荐

最新推荐

recommend-type

微信小程序连续签到7天积分获得功能的示例代码

今天通过一个案例给大家分享微信小程序连续签到7天积分获得功能,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,感兴趣的朋友一起学习吧
recommend-type

微信小程序以7天为周期连续签到7天功能效果的示例代码

此功能以1,2,3,4,5,6,7这样为一周期,连续签到的功能; 通过计算是否为整除7天计算,每7天后切换数目,从而改变周期表、
recommend-type

微信小程序实现日历签到

主要为大家详细介绍了微信小程序实现日历签到功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

Android 百度地图定位实现仿钉钉签到打卡功能的完整代码

主要介绍了Android 百度地图定位实现仿钉钉签到打卡功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
recommend-type

利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统

主要介绍了利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

HSV转为RGB的计算公式

HSV (Hue, Saturation, Value) 和 RGB (Red, Green, Blue) 是两种表示颜色的方式。下面是将 HSV 转换为 RGB 的计算公式: 1. 将 HSV 中的 S 和 V 值除以 100,得到范围在 0~1 之间的值。 2. 计算色相 H 在 RGB 中的值。如果 H 的范围在 0~60 或者 300~360 之间,则 R = V,G = (H/60)×V,B = 0。如果 H 的范围在 60~120 之间,则 R = ((120-H)/60)×V,G = V,B = 0。如果 H 的范围在 120~180 之间,则 R = 0,G = V,B =
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。