DateFormatter Возвращается с допустимой строкой - PullRequest
0 голосов
/ 28 июня 2019

Моя дата в строке всегда равна нулю, и я не могу понять, почему.

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

1 Ответ

1 голос
/ 28 июня 2019

Вы должны установить .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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...