我看到很多帖子,但我无法解决问题。我需要知道从iPhone发布之日起过去了多少天/小时/分钟以及我提供的旧日期。我尝试了不同的教程并在stackoverflow中发布,但没有任何效果。请帮帮我谢谢。
class timeElapsed {
init?(startDate: NSDate, endDate: NSDate){
let calendar = NSCalendar.currentCalendar()
let components = calendar.components([.Day, .Month, .Year], fromDate: startDate, toDate: endDate, options: [])
print(components.day)
return nil
}
使用此代码它可以工作,但它给了我7天的差异而不是11天的差异。实际上日期为endDate: 2015-10-07 14:27:53 +0000
startDate: 2015-09-26 15:17:55 +0000
答案 0 :(得分:0)
这应该有效:
func timeBetween(startDate: NSDate, endDate: NSDate) -> [Int]
{
let calendar = NSCalendar.currentCalendar()
let components = calendar.components([.Day, .Month, .Year], fromDate: startDate, toDate: endDate, options: [])
return [components.day, components.hour, components.minute]
}
您传递了开始日期和结束日期,并返回了一组int。
let nowDate:NSDate // current date
let historydate:NSDate // some old date
let timeSince:[Int] = timeBetween(historydate, endDate: nowDate)
timeSince[0] // days
timeSince[1] // hours
timeSince[2] // minutes