ios - 日期格式化程序不从应用程序中的字符串返回日期,但可以在 Playground 上工作

标签 ios swift nsdateformatter dateformatter

我知道这些关于日期格式化程序的问题一直被问到,但是我遇到的问题确实很奇怪

我需要将一个简单的字符串转换为日期,如下所示

    let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
let dateOfBirthString = "10/20/2002"
let dob: Date? = dateFormatter.date(from: dateOfBirthString)

这在 Playground 上工作得很好,但在应用程序中总是返回 nil (使用这些确切的值(尽管是属性而不是硬编码字符串)

任何帮助将不胜感激,它让我发疯

最佳答案

extension String {

func toDateTime() -> Date {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
    dateFormatter.timeZone = TimeZone(identifier: "UTC")
    dateFormatter.locale = Locale(identifier: "en_US_POSIX")
    guard let date = dateFormatter.date(from: self) else {
        preconditionFailure("Take a look to your format")
    }
    return date
}
}

尝试这个扩展

let dateOfBirthString = "10/20/2002"
let dob: Date? = dateOfBirthString.toDateTime()

像这样使用这个扩展,如果您遇到任何错误,请随时在下面发表评论

关于ios - 日期格式化程序不从应用程序中的字符串返回日期,但可以在 Playground 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58477944/

相关文章:

ios - 用于可变日期类型字符串的 Swift dateFormat

ios - `NSUserDefaults synchronize`怎么跑得这么快?

iOS – 同步上传到 AWS S3

ios - 使用 swift 1.2 之前版本构建框架

ios - 具有自定义单元格框架的 indexPathForItemAtPoint

ios - 我可以使用日期格式mm/dd/yy吗?

ios - segue 关闭时执行操作

ios - 将目标添加到已添加子库的库中

ios - 如何使用 alpha channel - PNG(替换颜色)仅对 UIImage 的一部分着色?

objective-c - NSDate 和 NSTimezone 的时间错误