【发布时间】:2014-12-27 19:10:54
【问题描述】:
假设我有一个在一周中同一天和同一时间发生的重复事件列表,例如周三下午 5:30 - 7:30。显然,我不想存储大量展望未来的日期字符串。存储这些数据的最佳方式是什么,以便我可以使用当前日期/时间对其进行测试。
我想根据事件是否在今天发生来过滤存储为 JSON 的事件列表。为了更进一步,我想测试一下活动是否尚未开始、目前正在进行或已完成。
这是我正在使用的数据类型的示例:
"schedule": [
"wednesday": {
"open": "5:30",
"close": "7:30"
},
"thursday": {
"open": "5:30",
"close": "7:30"
},
"friday": {
"open": "5:30",
"close": "7:30"
},
"saturday": {
"open": "3:30",
"close": "4:30"
},
"sunday": {
"open": "2:30",
"close": "4:30"
}
]
我知道Date.getDay(); 返回星期几的整数表示,所以也许我应该使用它而不是字符串表示。
当前模式需要从new Date 对象和每日计划中获取小时和分钟,并将它们一起比较。必须有更好的方法。
【问题讨论】:
-
使用 24 小时制:17:30–19:30。这样,您可以在不使用 [AP]M 的情况下明确表示任何时间,并且可以将时间字符串解析为有效的 ISO 8601
-
@Roy 看看我的答案,这就是你要找的……测试一下。
标签: javascript datetime