而日期不在开始和结束日期之内

时间:2016-03-24 10:26:59

标签: swift while-loop nsdate

我有以下代码检查selectedDate是否在开始日期和结束日期之内。我想知道怎么去说,虽然日期不在2个日期之内,但我不知道如何去做。我尝试使用'!=='然而它说'表达式的含义不含更多上下文'

while newStartDate.compare(selectedDate) == .OrderedAscending && newEndDate.compare(selectedDate) == .OrderedDescending {
     print("\(selectedDate) is within \(newStartDate) & \(newEndDate)")     
}

2 个答案:

答案 0 :(得分:1)

怎么样?

while newStartDate.compare(selectedDate) == .OrderedDescending || newEndDate.compare(selectedDate) == .OrderedAscending {
   print("\(selectedDate) is within \(newStartDate) & \(newEndDate)")
}

所选日期必须在开始日期之前或结束日期之后。

答案 1 :(得分:0)

我认为朱利安的Answer是正确的。在我看来,为了使其更具可读性,您可以使用!=

进行首次尝试
while newStartDate.compare(selectedDate) != .OrderedAscending || newEndDate.compare(selectedDate) != .OrderedDescending {
    print("\(selectedDate) is within \(newStartDate) & \(newEndDate)")
}