如何在swift3中获取两个日期之间的日历日[重复]
Posted
技术标签:
【中文标题】如何在swift3中获取两个日期之间的日历日[重复]【英文标题】:How to get calendar days between two dates in swift3 [duplicate] 【发布时间】:2016-11-04 15:08:01 【问题描述】:我正在尝试通过以下编码来确定 swift3 中两个日期之间的天数。不幸的是,我遇到错误并且运行失败。请让我知道如何解决以及如何在 swift3 中获取两个日期之间的日历天数。
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
指向let endDate = dateTo!.addingTimeInterval(ti)
【问题讨论】:
“获得日历日”是什么意思?“好的”输出是什么? 还有什么错误?在哪几行? @matt 两个日期之间的天数。 我不知道那是什么意思。我知道约会是什么。但是你心目中的“一天”是什么?我是认真的:显示示例输入和所需的输出。我无法想象你在这里有什么想法。 @rmaddy 我已经编辑了我的问题。 【参考方案1】:这里
let dateTo = dateFormatter.date(from: endDate)
您的endDate
可能是一个与dateFormatter
格式不符的字符串。因此dateTo
以nil
结束并崩溃:
let endDate = dateTo!.addingTimeInterval(ti)
【讨论】:
以上是关于如何在swift3中获取两个日期之间的日历日[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在mysql选择查询中获取两个日期之间的日期列表[重复]
如何结合 java.util.Calendar 和 HQL 之间