Swift:从 Google Drive API 时间戳创建 Date()

问题描述

我正在 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
}