我有这段代码将字符串转换为日期对象
let date2 = KeysData[indexPath.row]["starttime"] as? String let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ" if let date = dateFormatter.dateFromString(date2!) { println(date) }
我想知道如果当前日期落在2天我的阵列中得到之间startdate和endate
startdate
endate
你已经在你的日期字符串转换的代码KeysData来NSDate。假设您在startdate和中都有两个日期enddate,那么您要做的就是检查当前日期是否在以下日期之间:
KeysData
NSDate
enddate
let startDate = ... let endDate = ... NSDate().isBetween(date: startDate, andDate: endDate) extension NSDate { func isBetweeen(date date1: NSDate, andDate date2: NSDate) -> Bool { return date1.compare(self) == self.compare(date2) } }
编辑: 如果要执行 包含 范围检查,请使用以下条件:
extension NSDate { func isBetween(date date1: NSDate, andDate date2: NSDate) -> Bool { return date1.compare(self).rawValue * self.compare(date2).rawValue >= 0 } }