【问题标题】:Swift set default date to 10 years backSwift 将默认日期设置为 10 年前
【发布时间】:2018-02-19 07:20:23
【问题描述】:

我想将选择器视图的默认日期设置为从当前日期起 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
}

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

【问题讨论】:

  • 您发布的代码均与您的问题无关。您在哪里尝试在日期选择器上计算和设置这个 10 年前的日期?

标签: ios swift datepicker


【解决方案1】:

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

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

-10代表年数。

【讨论】:

  • print() 是 Swift 中的日志语句。
  • 'twoDaysAgo' 是一个书写错误。
【解决方案2】:
datePicker.date = Calendar.current.date(byAdding: .year, value: -10, to: Date())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2011-04-09
    • 2012-11-20
    • 2014-03-27
    • 2021-02-21
    • 1970-01-01
    相关资源
    最近更新 更多