Swift将默认日期设置为10年前

时间:2017-09-11 06:01:55

标签: ios swift datepicker

我想将选择器视图的默认日期设置为从当前日期开始的10年。我到目前为止的代码就是这个。

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

    datePicker.addTarget(self, action: #selector(changed),
                         for: .valueChanged)

获得价值变动

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

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

2 个答案:

答案 0 :(得分:5)

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

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

-10代表年数。

答案 1 :(得分:3)

datePicker.date = Calendar.current.date(byAdding: .year, value: -10, to: Date())