在Swift2中计算datepicker日期和当前日期之间的差异

时间:2015-07-30 12:58:34

标签: nsdate swift2 ios9

Hy Guys。

我正在学习swift2 ..

我有一个用户输入日期的datepicker元素。我想计算当前日期的天数,小时数,分钟数的差异

我可以将日期变为变量,但我无法与当前的NSDate()产生差异。

任何帮助将不胜感激。

class ViewController: UIViewController {

    @IBOutlet var hourLabel: UILabel!

    @IBOutlet var dobPicker: UIDatePicker!

    @IBAction func convertAge(sender: AnyObject) {

        let userDOB = dobPicker.date

        let dateFormatter = NSDateFormatter()

        dateFormatter.dateFormat = "dd-MMMM-yyyy"

        hourLabel.text = "\(dateFormatter.stringFromDate(userDOB))"

    }

    override func viewDidLoad() {
        super.viewDidLoad()

        let nowDate = NSDate()
        let df = NSDateFormatter()

        df.dateFormat = "dd-MMMM-yyyy"    

    }    

}

1 个答案:

答案 0 :(得分:4)

我首先以秒计算差异。

let currentDate = NSDate()
let someDateInThePast = NSDate().dateByAddingTimeInterval(-100000)
let difference = currentDate.timeIntervalSince1970 - someDateInThePast.timeIntervalSince1970

个人金额(例如3天,92小时,5520分钟)

var days = floor(difference/24/3600)
var hours = floor(difference/3600)
var minutes = floor(difference/60)

总金额(例如3天,20小时,12分钟)

var days = floor(difference/24/3600)
var hours = floor((difference % (24*3600) ) / 3600)
var minutes = floor((difference % 3600) / 60)
var seconds = floor(difference % 60)