Swift将默认日期设置为10年

Moa*_*han 2 datepicker ios swift

我想将选择器视图的默认日期设置为比当前日期早10年。到目前为止,我的代码是这样。

  let datePicker            = UIDatePicker()
    datePicker.datePickerMode = UIDatePickerMode.date
    dateOfBirthTF.inputView   = datePicker

    datePicker.addTarget(self, action: #selector(changed),
                         for: .valueChanged)
Run Code Online (Sandbox Code Playgroud)

获得价值改变

func changed(datePicker:UIDatePicker) {
    let dateFormatter       = DateFormatter()
    dateFormatter.dateStyle = DateFormatter.Style.short
    let strDate = dateFormatter.string(from: datePicker.date)
    dateOfBirthTF.text = strDate
}
Run Code Online (Sandbox Code Playgroud)

它将默认日期完美地设置为当前日期,但是如果我尝试减去几年,它将不起作用。让我知道我需要在此代码上进行的更改,以设置几年前的默认日期。

Usm*_*ved 6

使用这些代码行,您可以获得10年的追溯日期。

    let calendar = Calendar.current
    let backDate = calendar.date(byAdding: .year, value: -10, to: Date())
    print("\(backDate)")
Run Code Online (Sandbox Code Playgroud)

-10 代表年数。


Mal*_*lik 6

datePicker.date = Calendar.current.date(byAdding: .year, value: -10, to: Date())
Run Code Online (Sandbox Code Playgroud)