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

Posted

技术标签:

【中文标题】Swift 将默认日期设置为 10 年前【英文标题】:Swift set default date to 10 years back 【发布时间】: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 年前的日期? 【参考方案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())

【讨论】:

以上是关于Swift 将默认日期设置为 10 年前的主要内容,如果未能解决你的问题,请参考以下文章

laravel-将默认日期设置为明天

将 Spring MVC 中的默认/全局日期格式设置为 ISO 8601

如何设置像'YYYYMM'这样的Postgresql默认值日期戳?

将 NOW() 设置为日期时间数据类型的默认值?

将 UTC 设置为默认日期时区

未设置日期时,将 RadDatePicker 的默认值设置为 NULL