2016-02-28 117 views
-2

您好,我正在尝试在年龄限制18岁以下的日期选取器,在日期选择器中选择出生日期,然后我想要我的代码来计算该人是18岁还是年龄越大,就可以进入下一步。日期选择器的年龄验证IOS Swift

到目前为止我的代码看起来是这样的:

@IBAction func veryfyButton(sender: AnyObject) { 

    var myDateConverterObject = NSDateFormatter() 

    let formatter = NSDateFormatter() 

    let dateAsDate = datePicker.date 

    let dateAsNow = NSDate() 

    let interval = dateAsNow.timeIntervalSinceDate(dateAsDate) 

    let convertedDate = myDateConverterObject.stringFromDate(dateAsNow) 


    print(interval/1000) 



} 
+5

你的问题是什么? – sschale

回答

1

你的变量名就没有任何意义了我。如果你想从日期选择器计算用户的年龄:

@IBAction func verifyButton(sender: AnyObject) { 

    let dateOfBirth = datePicker.date 

    let today = NSDate() 

    let gregorian = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)! 

    let age = gregorian.components([.Year], fromDate: dateOfBirth, toDate: today, options: []) 

    if age.year < 18 { 
     // user is under 18 
    } 
} 
+0

非常感谢! ...这让我非常了解使用NSCalendar。 Tyvm! :) –

+0

我试过使用这种算法,但它不需要考虑几个小时和区域 – Jargen89