我使用此函数从firebase服务器获取Servertime Offset:
getCurrentServerTime(){ (date) in
let serverDate = Date(timeIntervalSince1970: date)
print(serverDate)
}
public func getCurrentServerTime(completionHandler:@escaping (Double) -> ()){
Database.database().reference(withPath: ".info/serverTimeOffset").observeSingleEvent(of: .value) { (snapshot) in
if let time = snapshot.value as? Double{
completionHandler(Date().timeIntervalSince1970 + time)
}else{
completionHandler(0)
}
}
}
但是当我改变设备时间时,结果也会改变。我有什么想法吗?它应该给我设备日期和服务器日期之间的区别。
生成的服务器日期始终比设备日期晚2小时。它与服务器实际日期无关。