我正在尝试理解日期是如何保存在Firebase的CloudFirestore中的……
当我将当前日期放入数据库dateToSAve = Date()时,此日期以UTC-7格式存储:

但是在法国,例如,想要在Firebase上保存数据,它将是当前日期-9小时,以符合UTC -7
有时,正因为如此,这可能是不同的一天...你知道如何处理这个问题吗?我想在数据库中保存用户的当前日期。
发布于 2018-09-03 21:03:33
不应将date对象存储在数据库中,而应将时间戳保存在UTC 0中。在检索到该时间戳之后,您可以将其转换回具有当前时区中的时间部分的日期。
对于以UTC 0表示的获取时间戳:
let timestamp = Date().timeIntervalSince1970并将时间戳转换回与当前时区中的时间部分对应的日期:
// gives date with time portion in UTC 0
let date = Date(timeIntervalSince1970: timestamp)
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMM-dd-yyyy" // change to your required format
dateFormatter.timeZone = TimeZone.current
// date with time portion in your specified timezone
print(dateFormatter.string(from: date)) https://stackoverflow.com/questions/52030883
复制相似问题