千家信息网

js怎么判断日期天数

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"js怎么判断日期天数"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!题目:给定5个相同
千家信息网最后更新 2026年11月03日js怎么判断日期天数

本篇内容介绍了"js怎么判断日期天数"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

题目:给定5个相同格式的日期,怎么判断是否是连续的5天呢?

数据如下:

let days = [  '2016-02-28',  '2016-02-29', // 闰月  '2016-03-01', // 跨月  '2016-03-02',  '2016-03-03',]

看到这个题目,我瞬间想到了另外的一个题目:一个数组,数组中有5个数字,如何判断这5个数字是否是连续的:

let arr = [1,2,3,4,5]

感觉这两道题目的解法是一样的,后面这道数字的相对比较简单,不用处理时间问题,咱们先来解决后面这道题。

那么思路是什么样的呢?我们可以假设arr数组中5个数字是连续的,然后在此基础之上,我们做一些操作,做什么操作呢?

假如5个数字是连续的,那么第一个数字加4,第二个数字加3,第三个数字加2,第四个数字加1,第五个数字加0,最终得到:

let newarr = [5,5,5,5,5];

然后判断每个数字是否都相等,如果相等那么说明arr是连续的,反之则是不连续的。

思路有了,代码如下:

let arr = [1,2,3,4,5];
let newarr = arr.sort().map((e,i)=>{ return e+4-i})let stand = newarr[0];
let isTrue = newarr.every(e=>{ return e===stand})
console.log(isTrue)

接下来我们看日期是否连续该如何判断:

let days = [  '2016-02-28',  '2016-02-29', // 闰月  '2016-03-01', // 跨月  '2016-03-02',  '2016-03-03',]

观察上面的日期数组,我们假定日期是连续的,然后对每一个日期进行处理,但是该如何处理呢?

上面数字题目比较直观,假设数字连续,设置成相同数字,日期则需要利用js的日期处理API了,我们可以利用Date对象的setDate方法将其设置成相同的日期。

简单说就是将2016-02-28、2016-02-29等日期设置成2016-03-03,我们可以这样做,代码如下:

let dt = new Date("2016-02-28");dt.setDate(dt.getDate()+4-1)console.log(dt)

打印结果:

处理日期的方法有了,将给定数组中所有日期都处理一下,最终代码如下:

let days = [    '2016-02-28',    '2016-02-29', // 闰月    '2016-03-01', // 跨月    '2016-03-02',    '2016-03-03',]
let newdays = days.map((e,i)=>{ let dt = new Date(e); dt.setDate(dt.getDate() + 4 - i); //转换成时间戳 return +dt})let stand = newdays[0]let isTrue = newdays.every(e=>{ console.log(e,stand) return stand ===e})console.log(isTrue)

再深入一下,如果给的时间是这样的呢?

let days = [  '2016-02-28 12:00:00',  '2016-02-29 12:00:01', // 闰月  '2016-03-01 12:00:02', // 跨月  '2016-03-02 12:00:03',  '2016-03-03 12:00:04',  '2016-03-04 12:00:04',]

我们只需要对时间的时、分、秒、毫秒,处理一下即可,代码如下:

let days = [    '2016-02-28 12:00:00',    '2016-02-29 12:00:01', // 闰月    '2016-03-01 12:00:02', // 跨月    '2016-03-02 12:00:03',    '2016-03-03 12:00:04',    '2016-03-04 12:00:04',]
let newdays = days.map((e,i)=>{ let dt = new Date(e); dt.setDate(dt.getDate() + 4 - i); dt.setHours(0); dt.setMinutes(0); dt.setSeconds(0); dt.setMilliseconds(0); return +dt})let stand = newdays[0]let isTrue = newdays.every(e=>{ return stand ===e})console.log(isTrue)

"js怎么判断日期天数"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

数字 日期 处理 数组 闰月 题目 代码 时间 相同 天数 接下来 内容 思路 方法 更多 知识 实用 直观 学有所成 三个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云南咖啡 天津市摩尔互联网科技 互联网科技活动banner 互联网科技会 世界互联网领先科技成果 郑州华宇互联网科技 互联网科技公司需要的职位 互联网科技与管理 昊天互联网科技有限公司 哈尔滨屹滨互联网科技有限公司 广州新华互联网科技学校电竞方面 上海京穆互联网科技有限公司 小米互联网科技园入驻 互联网营销推广黑科技 信承诺互联网科技有限公司 广西科技产业互联网是什么 上海万顺科技互联网有限公司招聘 同城互联网络科技 宁波允成互联网科技有限公司 如何强化互联网金融科技 互联网络科技 互联网科技社 互联网金融科技创新 中国的互联网科技企业的崛起 昭通云南众福互联网科技有限公司 元气玛特互联网科技公司是外包吗 南通创西澳互联网科技有限公司 广西科技产业互联网是什么 互联网领先科技活动 青岛互联网科技园
0