Ios 如何在swift3中获取两个日期之间的日历日
我正试图通过以下代码在swift3中消除两个日期之间的天数。不幸的是,我遇到了错误,运行失败。请让我知道如何解决问题,以及如何在swift3中获得两个日期之间的日历日Ios 如何在swift3中获取两个日期之间的日历日,ios,swift,swift3,xcode8,Ios,Swift,Swift3,Xcode8,我正试图通过以下代码在swift3中消除两个日期之间的天数。不幸的是,我遇到了错误,运行失败。请让我知道如何解决问题,以及如何在swift3中获得两个日期之间的日历日 static func getDaysList(_ startDate:String, endDate:String, interval:Int) -> [Date] { var dayRange = [Date]() let inter = TimeInterval(interval * 60 * 60)
static func getDaysList(_ startDate:String, endDate:String, interval:Int) -> [Date] {
var dayRange = [Date]()
let inter = TimeInterval(interval * 60 * 60)
let ti:TimeInterval = inter
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = datetimeformat
let dateTo = dateFormatter.date(from: endDate)
var nextDate = dateFormatter.date(from: startDate)
let endDate = dateTo!.addingTimeInterval(ti)
var startTime = NSDate()
while nextDate!.compare(endDate) == ComparisonResult.orderedAscending {
startTime = nextDate! as NSDate
dayRange.append(startTime as Date)
nextDate = nextDate!.addingTimeInterval(ti)
startTime = nextDate! as NSDate
}
return dayRange
}
致命错误:在展开可选值时意外发现nil
指向让endDate=dateTo!。在此处添加时间间隔(ti)
let dateTo = dateFormatter.date(from: endDate)
您的endDate
可能是一个字符串,该字符串的格式与日期格式化程序的格式不正确。因此,dateTo
结果为nil
,并在以下情况下崩溃:
let endDate = dateTo!.addingTimeInterval(ti)
“获取日历日”是什么意思?“好”的输出是什么?错误是什么?在哪行?@matt days,两次约会之间。我不知道那是什么意思。我知道什么是约会。但你心目中的“一天”是什么?我是认真的:显示示例输入和所需输出。我无法想象你在想什么。@rmaddy我已经编辑了我的问题。