0

我有一个表格来分配特定时期的用户,我可以在另一个时期重新分配同一个用户。我想验证用户分配的日期不应重叠。

Ex 表格归档:

Name        From date       To date
User1       01-05-2014      10-05-2014
User2       01-05-2014      20-05-2014
User1       05-05-2014      20-05-2014 (This is Wrong Assignment. Need to alert)
4

1 回答 1

0

使用 ISO 格式的日期,您可以使用字符串比较。

var a = [
    [ "User1", "2014-05-01", "2014-05-10" ],
    [ "User2", "2014-05-01", "2014-05-20" ],
    [ "User1", "2014-05-05", "2014-05-20" ]
]

var overlaped = a.filter(function(row, index, arr) {
    for (var cur, pos = index; cur = arr[--pos];)
        if (cur[0] == row[0] && (
            (cur[1] >= row[1] && cur[1] <= row[2]) ||
            (cur[2] >= row[1] && cur[2] <= row[2]))) break;
    return -1 != pos
})
于 2014-04-15T10:41:04.087 回答