【问题标题】:DateTime range separators with JavaScript work for all but a few ranges使用 JavaScript 的 DateTime 范围分隔符适用于除少数范围之外的所有范围
【发布时间】:2015-12-09 07:21:18
【问题描述】:

我有一个来自数据库的 Activity Records 的 JSON 字符串,我对其进行迭代并打印到屏幕上。

使用每条记录的创建日期时间,我将它们传递给一个简单的日期比较函数,该函数接受 start dateend datedate to see if it is in the range between the other 2

目标是在记录之间插入一个分隔符,例如:

'A while Ago': [],
'Last Month': [],
'Earliar in the Month': [],
'Last Week': [],
'Earlier this Week': [],
'Yesterday': [],
'Today': [],

所以我在这里有一个几乎可以运行的演示 http://jsfiddle.net/jasondavis/0vsz8jk4/18/

这张图片显示了问题区域...我有 20 条测试记录,它在下面的第 16 条记录处停止。我也有记录应该适合 Earlier this weekYesterday 但是你可以在演示 JSFiddle 上看到它们是空的!

它们也不是空的,因为这些记录正在被另一个日期范围组窃取,但根本不显示。第 17、18、19 和 20 条记录不见了!

有什么想法可以解决吗?

【问题讨论】:

    标签: javascript jquery json datetime


    【解决方案1】:

    记录 17、18、19 和 20 可能不属于 dateRangeLabels 中定义的任何日期范围 - 例如,在您发布的小提琴中,我记录了 18,所以大概日期范围是小提琴中与您正在测试的代码中的不同

    记录 19 和 20 不在任何定义的日期范围内 - 19 因为代码有今天 = 12 日,昨天 = 11 日和“本周早些时候”为 5 日至 9 日...记录 19 是第 10 日属于否范围,因此“下降”。

    第 20 条记录是第 17 条,同样,它不属于任何定义的范围,因此被“删除”

    见工作小提琴 - http://jsfiddle.net/0vsz8jk4/19/

    我所做的只是 - 确保本周早些时候包括两天前(您没有),添加“其他”,即从明天到 2999 年(有更好的方法,但我只是想向您展示您的代码有效,您只是遇到了一些小问题)

    【讨论】:

    • 嘿,太好了。我已经在这里发布了 3-04 个帖子,试图获得有关如何构建此功能的帮助,而我刚刚完成了这一步。我不知道如何在我的记录之间注入这些日期潜水员。我有 Date 实用程序功能,可以轻松确定记录是否在两个日期之间,但我不知道如何实际得到它现在的状态。因此,如果您愿意展示任何其他方法,我将非常兴奋和感激。
    猜你喜欢
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    相关资源
    最近更新 更多