Swift:计算两个日期之间的时间
Swift: Calculate time between two dates
我的情节提要中有一个文本字段,并在相应的 ViewController 中创建了以下出口:
@IBOutlet weak var birthday: UITextField!
用户将以 "MM/DD" 格式输入他们的月份和日期,然后按回车键。我希望能够计算自他们生日以来的天数(不包括今天),然后在等式中使用该数字。
如何计算范围?
如果您提供 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)")
我的情节提要中有一个文本字段,并在相应的 ViewController 中创建了以下出口:
@IBOutlet weak var birthday: UITextField!
用户将以 "MM/DD" 格式输入他们的月份和日期,然后按回车键。我希望能够计算自他们生日以来的天数(不包括今天),然后在等式中使用该数字。
如何计算范围?
如果您提供 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)")