我的故事板中有一个文本字段,并在相应的ViewController中创建了以下插座:
@IBOutlet weak var birthday: UITextField!
用户将以“MM / DD”格式输入月份和日期,然后按Enter键。我希望能够计算自生日以来的天数(不包括今天),然后在等式中使用该数字。
如何计算范围?
答案 0 :(得分:4)
如果您提供textFiled选项,请使用UIPickerView(.date)输入日期,以便用户不会弄乱格式。然后使用以下代码获取从输入到当前日期的日期: -
let calendar: NSCalendar = NSCalendar.currentCalendar()
let firstDate = NSDate() // Current date
let dateString = "06-10-2016"// Get input(date) from textfield
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
let secondDate = dateFormatter.dateFromString(dateString)
let date1 = calendar.startOfDayForDate(firstDate)
let date2 = calendar.startOfDayForDate(secondDate!)
let flags = NSCalendarUnit.Day
let components = calendar.components(flags, fromDate: date1, toDate: date2, options: [])
print("amount of days \(components.day)")