【发布时间】:2015-05-27 13:38:21
【问题描述】:
时间采用 24 小时制 HH:mm
我想在以下条件下比较两个时间范围:
a) T1 > T2
b) T2 not in-between time range of T1
c) The T1 & T2 do not overlap
是否有任何库,或者我应该只满足所有可能的组合并创建自己的脚本?
【问题讨论】:
标签: javascript jquery
时间采用 24 小时制 HH:mm
我想在以下条件下比较两个时间范围:
a) T1 > T2
b) T2 not in-between time range of T1
c) The T1 & T2 do not overlap
是否有任何库,或者我应该只满足所有可能的组合并创建自己的脚本?
【问题讨论】:
标签: javascript jquery
您的选择是:
如果您打算一遍又一遍地在两个数组之间进行比较(即您的 JSON 没有采用不同的格式,并且您的代码需要更多的模块化),我认为您应该自己动手。为您的三个条件编写一个带有子函数的validation 函数,并返回func1 && func1 && func3。
此外,所有这些都有 3 级,特别是如果您必须学习一个新库,我会朝着那个方向学习。对于有限的 h:m 比较,它有可能成为最快和最高性能的,尤其是当您使用 JavaScript 变得更好时。
【讨论】:
很少。查看these dateTime 库
【讨论】:
如果可以的话,我总是更喜欢手动方法,那么您可以完全控制加载到页面中的内容。
我建议比较getTime()的,像这样:
var Now = new Date(),
T1 = {},
T2 = {};
T1.Start = new Date(Now.getFullYear(), Now.getMonth(), Now.getDate(), 8, 30); // 8:30am
T1.End = new Date(Now.getFullYear(), Now.getMonth(), Now.getDate(), 12, 30); // 12:30pm
T2.Start = new Date(Now.getFullYear(), Now.getMonth(), Now.getDate(), 13, 0); // 1:00pm
T2.End = new Date(Now.getFullYear(), Now.getMonth(), Now.getDate(), 17, 30); // 5:30pm
T1.Length = T1.End.getTime() - T1.Start.getTime()
T2.Length = T2.End.getTime() - T2.Start.getTime()
if (T1.Length > T2.Length) { // Longer than
} else if (T2.Start > T1.Start && T2.End < T1.End) { // Inbetween
} else if (T2.Start < T1.End || T2.End > T1.Start) { // Overlapping
}
【讨论】: