在 Swift 中使用 DateFormatter 显示未来日期而不是过去日期

Using DateFormatter to show future dates instead of past dates in Swift

我有以下代码,其中输入作为 10/01/77 发送,DateFormatter 将其转换为 1977,但预期年份为 2077。如何控制?

let formatter = DateFormatter()
formatter.dateFormat = "MM/dd/yy"
let _tmpDate = formatter.date(from: "10/01/77")
// _tmpDate is getting converted to 1977 instead of 2077

但是,如果日期显示为 02/26/09,则预期年份为 2009 而不是 2109

使用DateFormatter twoDigitStartDate。为您需要的任何年份创建一个日期。

let formatter = DateFormatter()
formatter.twoDigitStartDate = Calendar.current.date(from: DateComponents(year: 1980))
formatter.dateFormat = "MM/dd/yy"
let _tmpDate = formatter.date(from: "10/01/77") // gives 2077

1980 更改为满足您需要的任何年份。