从dateFormat获取错误的日期 [英] Getting Wrong Date from dateFormat
本文介绍了从dateFormat获取错误的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
对于日期输入 00/02/02
格式样式为yy / MM / dd
I正在获得正确的输出,例如02/01/2000
For date Input "00/02/02"
formating Style is yy/MM/dd
I am getting correct output like 02/01/2000
但是问题是,尝试使用 00/01/01
获得类似 01/01的输出时/ 12100'
But issue is when trying with "00/01/01" getting output like this '01/01/12100'
但是我不知道为什么今年会像 12100
But I don't know why this year coming like 12100
我的代码是
let str = "00/01/01"
let inputFormatter = DateFormatter()
inputFormatter.dateFormat = "yy/MM/dd"
if let showDate = inputFormatter.date(from: str) {
inputFormatter.dateFormat = "dd/MM/yyyy"
let resultString = inputFormatter.string(from: showDate)
print(resultString)
}
年份输入类型始终为yy格式。
year input type always as yy format.
推荐答案
按照@MartinR建议
将 inputFormatter.defaultDate设置为当前日期或Date(timeIntervalSinceReferenceDate:0)效果很好
As per the @MartinR suggestion settinginputFormatter.defaultDate to current date or Date(timeIntervalSinceReferenceDate: 0) its worked fine
let str = "00/01/01"
let inputFormatter = DateFormatter()
inputFormatter.defaultDate = Date(timeIntervalSinceReferenceDate: 0)
inputFormatter.dateFormat = "yy/MM/dd"
if let showDate = inputFormatter.date(from: str) {
inputFormatter.dateFormat = "dd/MM/yyyy"
let resultString = inputFormatter.string(from: showDate)
print(resultString)
}
这篇关于从dateFormat获取错误的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文