ios - DateFormatter 返回有效字符串

标签 ios swift dateformatter

我从字符串中得出的日期总是 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

最佳答案

您应该设置 .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
}

关于ios - DateFormatter 返回有效字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56808855/

相关文章:

IOS:测试应用旧设备

android - 如何在 Hockeyapp 上将 Nevercode 构建从一个应用程序迁移到另一个应用程序?

ios - 用 UIAlertController 替换 UIAlertView

ios - swift : Map function found nil while unwrapping an Optional value

ios - Paypal MPL iOS 错误

ios - Swift AppDelegate 或 Main 在启动时抛出异常但没有崩溃

ios - 在代码中配置 NSAppTransportSecurity

ios - 日期格式崩溃

ios - 来自字符串时区的日期不符合使用 DateFormatter

android - WebGL 硬件在移动平台上加速了吗?