无法将类型 'Date?' 的值分配给类型 'String?' Swift 3

Cannot assign value of type 'Date?' to type 'String?' Swift 3

//错误:无法将类型 'Date?' 的值分配给类型 'String?'

let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
dateFormatter.dateStyle = .medium
let date = dateFormatter.date(from: match.dateTimeGMT)
print("date: \(date!)")
cell.dateTimeGMTLabel.text = date  

Error: Cannot assign value of type 'Date?' to type 'String?'

如果我现在正确地理解了这个问题。您需要 re-create 使用新格式的日期字符串,如下所示:

let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"

// Change the `...` for your needs
guard let date = dateFormatter.date(from: "2018-05-27T00:00:00.000Z") else { ... }

// Changing the format accordingly or use `DateFormatter.Style`
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"
cell.dateTimeGMTLabel.text = dateFormatter.string(from: date)