【发布时间】:2018-10-08 11:50:34
【问题描述】:
对于日期输入“00/02/02”
格式样式为 yy/MM/dd
我得到了正确的输出,例如 02/01/2000
但问题是尝试使用“00/01/01”时 得到这样的输出 '01/01/12100'
但我不知道为什么今年会像 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 格式。
【问题讨论】:
-
其实
02/01/2000不是 正确的输出 ???? -
我的输出是
01/01/2000... -
@AhmadF 我没有得到 2000
-
@vadian 这是一个正确的输出,因为如果你没有给出完整的年份,那么它会从最近的世纪中获取它,意味着从 2000 年开始
-
设置
inputFormatter.defaultDate = Date(timeIntervalSinceReferenceDate: 0)(或任何其他日期)似乎也有帮助——不要问我为什么!
标签: swift date dateformatter