带有JavaScript的日期时间范围分隔符适用于除少数几个范围之外的所有范围
我迭代并打印到屏幕上的数据库中有一个JSON sting带有JavaScript的日期时间范围分隔符适用于除少数几个范围之外的所有范围,javascript,jquery,json,datetime,Javascript,Jquery,Json,Datetime,我迭代并打印到屏幕上的数据库中有一个JSON sting活动记录 使用每条记录上的创建日期时间,我通过一个简单的日期比较函数传递它们,该函数采用开始日期、结束日期,以及日期,以查看它是否在其他两个日期之间的范围内 目标是在记录之间插入一个分隔符,如下所示: 'A while Ago': [], 'Last Month': [], 'Earliar in the Month': [], 'Last Week': [], 'Earlier this Week': [], 'Yesterday': [
活动记录
使用每条记录上的创建日期时间,我通过一个简单的日期比较函数传递它们,该函数采用开始日期
、结束日期
,以及日期,以查看它是否在其他两个日期之间的范围内
目标是在记录之间插入一个分隔符,如下所示:
'A while Ago': [],
'Last Month': [],
'Earliar in the Month': [],
'Last Week': [],
'Earlier this Week': [],
'Yesterday': [],
'Today': [],
所以我这里有一个几乎可以工作的演示
此图显示了问题区域。。。我有20个测试记录,它在下面的记录16处停止。此外,我还有本周早些时候和昨天的记录,但是你可以在演示JSFiddle上看到它们是空的
此外,它们不是空的,因为这些记录被另一个日期范围组窃取,但根本不显示。记录17、18、19和20消失了
有什么好主意吗
记录17、18、19和20可能不属于dateRangeLabels
中定义的任何日期范围-例如,在您发布的小提琴中,我得到了记录18,因此小提琴中的日期范围可能与您测试的代码中的日期范围不同
记录19和20不在任何定义的日期范围-19内,因为代码的今天=12,昨天=11,以及“本周早些时候”为5到9。。。记录19为第10个,属于无范围,因此“下降”
记录20是第17条,同样不属于任何定义的范围,因此被“删除”
见工作小提琴-
我所做的更改是——确保本周早些时候包括两天前(你没有),添加“其他”,即从明天到2999年(有更好的方法,但我只是想告诉你,你的代码可以工作,你只是有一些小问题)嘿,太好了。我已经在这里发布了3-04篇文章,试图获得关于如何构建此功能的帮助,我终于走到了这一步。我不知道如何在我的记录之间注入这些约会潜水员。我有一个Date实用程序函数,可以很容易地确定一个记录是否在两个日期之间,但我不知道如何将它转换为现在的状态。因此,如果你愿意展示其他的方法,我将非常兴奋和感激。