问题描述
我正在 Swift 中使用 Google Drive API,我正在使用的数据之一是时间戳,格式如下:2021-04-18T22:50:33.235Z
我一直为我的 Date 对象获取 nil
,我认为它与我的 DateFormatter() 有关,但我似乎无法弄清楚到底出了什么问题。
这是我尝试过的代码:
var creationDateAsstring = "2021-04-18T22:50:33.235Z"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
if let date = dateFormatter.date(from: creationDateAsstring) {
//do what I need to do
}
感谢您提供的任何帮助。
解决方法
确实,出于某种原因,这段代码在操场上可以运行,但在我的实际 Swift 应用程序中却不起作用。但是,我能够通过定义语言环境来解决这个问题:
var creationDateAsString = "2021-04-18T22:50:33.235Z"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
if let date = dateFormatter.date(from: creationDateAsString) {
//do what I need to do
}