我从字符串中获得的日期始终为nil,我不知道为什么。
func getBirthdate() -> Date? {
let formatter = DateFormatter()
formatter.dateFormat = "MM/dd/yyyy"
formatter.dateStyle = .medium
formatter.timeStyle = .none
print(self.dob!)
let birthdate = formatter.date(from: self.dob!)
return birthdate
}
self.dob:
05/01/1984
答案 0 :(得分:1)
您应该设置.dateFormat
或.dateStyle
/ .timeStyle
。
它们是互斥的,当您设置.dateStyle
时,会将.dateFormat
重置为预设的日期格式之一。
因此,应该是:
func getBirthdate() -> Date? {
let formatter = DateFormatter() // Also, you should move initialisation out and reuse `DateFormatter`
formatter.dateFormat = "MM/dd/yyyy"
print(self.dob!)
let birthdate = formatter.date(from: self.dob!)
return birthdate
}