swift - 如何在 swift 2.0 中将日期选择器中的当前日期限制为 future 15 天

标签 swift swift2

我正在尝试这段代码,但它不起作用。 谢谢大家。 我正在使用 uidatepicker 和选择最小日期。但在 datepicker swift 2.0 中需要当前日期加上额外的 15 天。

override func viewDidLoad() {
 let datePickerView:UIDatePicker = UIDatePicker()
        datePickerView.datePickerMode = UIDatePickerMode.Date
        sender.inputView = datePickerView
        datePickerView.minimumDate = datePickerView.date

        //datePickerView.maximumDate = datePickerView.date

 datePickerView.addTarget(self, action: #selector(BookAppointmentView.datePickerValueChanged(_:)), forControlEvents: UIControlEvents.ValueChanged)
        }

func datePickerValueChanged(sender:UIDatePicker)->NSDate {

        let baseDate:NSDate = NSDate()

        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd"


        DatePickerField.text = dateFormatter.stringFromDate(sender.date)
        print("date of bookAppointment\(DatePickerField.text!)")

       return newDate!

    }

最佳答案

有多种方法可以实现这一点。 dateByAddingTimeInterval 是其中之一,您可以在其中添加时间(以秒为单位):

datepickerView.minimumDate = NSDate() // current date
datepickerView.maximumDate = NSDate().dateByAddingTimeInterval(1296000) // date + 15 days

您还可以这样做:

datepickerView.minimumDate = NSDate() // current date
let maxDateComponent = NSDateComponents()
maxDateComponent.day = //days you want to add
datePickerView.maximumDate = NSCalendar.currentCalendar().dateByAddingComponents(maxDateComponent, toDate: NSDate(), options: NSCalendarOptions.init(rawValue: 0))

您可以在其中添加以天为单位的时间。

关于swift - 如何在 swift 2.0 中将日期选择器中的当前日期限制为 future 15 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36907587/

相关文章:

php - 从 iOS 应用程序将多部分图像上传到 PHP 服务器

ios - 关闭向下转换导致 EXC_BAD_INSTRUCTION 错误

ios - 什么可能导致 Swift sharedInstance 返回上的 EXC_BREAKPOINT

ios - 预期返回“UIFont?”的函数中缺少返回

ios - 存储概念 iOS - Swift

ios - 协议(protocol)/委托(delegate)中 IBOutlet 的困难

ios - 以编程方式快速加载图像

swift - 如何检测EdgePan Gesture SwiftUI

xcode - 使用未解析的标识符 'objects'

ios - 如何使容器 View 背景透明而不是一切?