CRe*_*Rey 8 swift3 ios10 xcode8
这是我的代码:
if let date = messages?.date{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "h:mm a"
//let elapseTimeInSeconds = NSDate.timeIntervalSince(date)
let elapseTimeInSeconds = Date(timeIntervalSinceNow: (date as? Date))
let secondsInDays: TimeInterval = 60 * 60 * 24
if elapseTimeInSeconds > secondsInDays {
dateFormatter.dateFormat = "EEE"
} else if elapseTimeInSeconds > 7 * secondsInDays {
dateFormatter.dateFormat = "MM/dd/yy"
}
timeLabel.text = dateFormatter.string(from: date as Date)
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
无法转换"日期"类型的值?预期参数类型'TimeInterval'(又名'Double')
错误在这一行:
let elapseTimeInSeconds = Date(timeIntervalSinceNow: (date as? Date))
Run Code Online (Sandbox Code Playgroud)
我已经尝试过我所知道的并且没有任何效果.请帮忙.
Nir*_*v D 17
您可以直接通过属性来访问它timeIntervalSinceNow的Date也没有必要使用NSDate在斯威夫特3使用直接Date和date(from:)方法DateFormatter的返回情况下Date?不会NSDate?.
let timeInterval = date.timeIntervalSinceNow
Run Code Online (Sandbox Code Playgroud)
你可以TimeInterval使用方法在两个日期之间获得timeIntervalSince(_:).
let timeInterval = date1.timeIntervalSince(date2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14486 次 |
| 最近记录: |