Xcode11,swift。日期格式化程序总是 return 无
Xcode 11, swift. Dateformatter always return nil
我在 Swift 中将值从 String
转换为 Date
时遇到问题。
它总是 returns 零。我做错了什么?
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from: "2019-05-03")
这是 Xcode
中调试器中发生的情况
它没有 nil
值。使用 .dateFormat
而不是 .format
就这么简单:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from: "2019-05-03")
// Optional(2019-05-02 23:00:00 +0000)
更新:
这似乎是 Xcode 中的错误。在 viewDidLoad
中尝试您的代码并设置断点会导致日期的 lldb
描述为 nil
,但它会正确打印出预期值。
你可以在这个 SO 看到更多关于错误的信息,感谢 OOPer 的 link。
目前此错误仍在 Xcode 11.2-beta
中出现
几点
使用.dateFormat
代替.format
使用正确的引号 "
而不是 ”
,您还应该从日期格式字符串中删除 space。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from: "2019-05-03")
我在 Swift 中将值从 String
转换为 Date
时遇到问题。
它总是 returns 零。我做错了什么?
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from: "2019-05-03")
这是 Xcode
中调试器中发生的情况它没有 nil
值。使用 .dateFormat
而不是 .format
就这么简单:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from: "2019-05-03")
// Optional(2019-05-02 23:00:00 +0000)
更新:
这似乎是 Xcode 中的错误。在 viewDidLoad
中尝试您的代码并设置断点会导致日期的 lldb
描述为 nil
,但它会正确打印出预期值。
你可以在这个 SO
目前此错误仍在 Xcode 11.2-beta
中出现几点
使用.dateFormat
代替.format
使用正确的引号 "
而不是 ”
,您还应该从日期格式字符串中删除 space。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from: "2019-05-03")