我要做什么:将用户的当前时间转换为GMT时间戳,然后将其上传到Firebase。
问题:我的Firestore数据库中的时间戳不是GMT时间戳,而是带有用户唯一时区的常规时间戳。
我的代码:
let formatter = DateFormatter()
formatter.timeZone = TimeZone(secondsFromGMT: 0)
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
let date = Date()
self.db.collection("posts").document(combined).setData([
"time": date,
]) { err in
if let err = err {
print("Error writing document: \(err)")
} else {
print("Post Document successfully written!")
print(date)
}
}
到目前为止实际发生的情况:
上传到Firebase后打印出日期时,我得到2020-06-26 17:57:40 +0000
。这是我要上传的时间戳。
我尝试过的事情:
答案 0 :(得分:2)
那两个时间戳实际上是相同的。即UTC + 2中的19:57:40与UTC + 0中的17:57:40相同。
因此,我怀疑问题是Firebase控制台中实际显示的内容。在某处可能有一个控制日期显示方式的设置。