【发布时间】:2018-08-23 06:07:25
【问题描述】:
我在检查日期时崩溃了:
func cehckForDate(date: String?) -> Int{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
let fromDt = dateFormatter.date(from: date ?? "")
let curreentDate = Date()
let order = Calendar.current.compare(curreentDate , to: fromDt!, toGranularity: .day)
switch order {
case .orderedAscending:
return(2)
case .orderedDescending:
return(1)
case .orderedSame:
return(0)
}
return 0
}
我的崩溃在这里:
let order = Calendar.current.compare(curreentDate , to: fromDt!, toGranularity: .day)
我收到nil fromDt
我的约会对象是2018-08-16 15:04:17
【问题讨论】:
-
date的确切值是多少?而且您不能尝试将空字符串解析为日期,因为它会失败。 -
我的日期是 2018-08-16 15:04:17
-
将
hh更改为HH。 (12 小时对 24 小时)。在解析固定格式日期字符串时,始终将日期格式化程序的语言环境设置为en_US_POSIX。 -
@rmaddy 我改变了。我的 fromDt 仍然只剩下零
-
检查您传递给函数“cehckForDate”的日期是否不为零。此外,如果您每次都会获得日期,则无需将其设为可选。
标签: ios swift date dateformatter