Swift Can';t从Firestore文档快照中提取日期或时间戳

Swift Can';t从Firestore文档快照中提取日期或时间戳,swift,firebase,date,google-cloud-firestore,timestamp,Swift,Firebase,Date,Google Cloud Firestore,Timestamp,我正在检索一组包含字符串、日期和时间戳的事件文档字符串没有问题,但最近我在我的模型中添加了日期和时间戳,它们总是返回为nil,我已将其设置为默认值,尽管我可以在Firebase控制台中清楚地看到它们存储正确 初始化文档快照检索设置 init?(snapshot:DocumentSnapshot){ self.eventId = snapshot.get("eventId") as? String ?? "No event Id" self.byId = snapshot.get

我正在检索一组包含
字符串
日期
时间戳
的事件文档<代码>字符串没有问题,但最近我在我的模型中添加了
日期
时间戳
,它们总是返回为nil,我已将其设置为默认值,尽管我可以在Firebase控制台中清楚地看到它们存储正确

初始化文档快照检索设置

init?(snapshot:DocumentSnapshot){

    self.eventId = snapshot.get("eventId") as? String ?? "No event Id"
    self.byId = snapshot.get("byId") as? String ?? "No uid"
    self.adminUser = snapshot.get("adminUser") as? String ?? "No admin user"
    //self.eventCreated = snapshot.get("eventCreated") as? Timestamp ?? "No Event Created Date"
    self.eventName = snapshot.get("eventName") as? String ?? "No Event Name"
    self.eventLocation = snapshot.get("eventLocation") as? String ?? "No Location"
    self.eventStart = snapshot.get("eventStart") as? Date ?? nil
    self.eventEnd = snapshot.get("eventEnd") as? Date ?? nil

}
文档快照的结果

adminUser: "", 
byId: "juYtTP509rhXYPd433", 
eventCreated: nil, //Timestamp retrieved as nil
eventId: "gC2RVdUuB9CD66JEYM18", 
eventName: "test", 
eventLocation: "", 
eventStart: nil, //Date retrieved as nil
eventEnd: nil, //Date retrieved as nil
事件模型

struct Event {

var adminUser = ""
var byId = ""
var eventCreated:Timestamp?
var eventId = ""
var eventName = ""
var eventLocation = ""
var eventStart:Date? = nil
var eventEnd:Date? =  Date(timeIntervalSince1970: 0)


请告诉我是否需要在此处添加方法以获得更好的上下文?

Firestore没有内部日期类型。在内部,当它接收到日期或时间戳作为输入时,它将创建一个时间戳,因此这是您的代码在任何情况下都应该期望从DocumentSnapshot中产生的内容(而不是日期)。

要将该
时间戳
转换为
日期
,打电话给它。这将是一个相当多的返工,让这继续下去,但我会开始朝这个方向前进。谢谢