js是一个简单的例子,用来确定一组日期是否是连续的。

js是一个简单的例子,用来确定一组日期是否是连续的。
这是小组中的一个朋友的问题。当时,我说如果我能判断一天是否与它相邻,然后我认为它完全错了。

需求问题

给定5个相同的日期,你如何判断它是否连续5天

我的第一反应getday(),然后将它来回。

但是仔细想想,绝对错误的,例如,这个星期二星期一,所以它会被误判。

不仅是这个问题,还有一个月、一年、一个月等等。

然后还有下面的代码。

让时间戳抹去一切

为了不解决这些问题,我想到了时间戳,商品完全可以忽略上面的问题,只要时间戳,最后比较就可以比较。

然后我给出了下面的代码:
让天= {
2016-02-28,
2016-02-29 ' /月
2016-03-01 ' /月
2016-03-02,
2016-03-03,
}

第一类,然后打开时间戳
让= days.sort(_days)。图((D I)= > {
新日期(d)
dt.setdate(DT。getdate)我(+ 4) / /治疗相同的日期

返回+ DT
})

时间戳比较是一致的。
Console.log(
_days { 0 } = = _days { 1 }
_days { 0 } = = _days { 2 }
_days { 0 } = = _days { 3 }
_days { 0 } = = _days { 4 }

好了,所有的问题都解决了,新年、月、月也没关系。

一般的函数封装

上面的代码仍然有一点缺陷,因为当没有治疗时,如果有时每分钟,它必须首先擦除。
让天= {
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,
}

console.log(continuedays(日))

功能continuedays(arr_days){
第一类,然后打开时间戳
让= arr_days.sort(天)。图((D I)= > {
新日期(d)
dt.setdate(DT。getdate)我(+ 4) / /治疗相同的日期

当MS 。
(0)dt.sethours
(0)dt.setminutes
(0)dt.setseconds
(0)dt.setmilliseconds

返回+ DT
})

让=真的

days.foreach(D = > {
如果(天{ 0 }!= d){
ret = false
}
})

返回页首
}
这个函数被改为2个地方,比较毫秒和擦除周期,其他是相同的。

总结

js的处理时间还是很简单的,比如写一个日期插件,其实用日期是很容易实现的,但是你想了解一下日期的API。

当然,简单的说,或者PHP最简单,就是简单的卫士。

上面的JS决定一组日期是否连续。A simple example is the whole content that Xiaobian shared to you. 我希望能给你一个参考,希望你能得到很多支持。

tag:连续日期是一个例子简单

相关内容