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 年前的主要内容,如果未能解决你的问题,请参考以下文章
将 Spring MVC 中的默认/全局日期格式设置为 ISO 8601