时间戳方程- Firebase数据库+ Swift



我正在学习swift编码和firebase。我正在尝试这个代码,这在理论上是有意义的,但我没有达到预期的结果。似乎我的数学是错误的,然而,我想我可能是格式化代码不正确。

本质上,一个帖子是用时间戳保存到firebase rtd的。我想要的帖子被删除,如果一分钟后的帖子已经上传。

let postFinally = Posts(timeStamp: timeStamp as! Double?)
let cutTime = 1.0 * 60.0 * 1000.0

let postTime = postFinally.timeStamp as Any as! Double

if postTime > postTime + cutTime {
print("delete")
} else {
print("not delete")
}     
// Timestamp derived from the firebase database. Ie, 1633590010833.0       

我的代码格式是否错误?它总是返回'不删除',即使在所需的时间之后。

任何帮助将非常感激!谢谢你

编辑更新的方程,但似乎不工作。我选择切割时间为一小时,但是,它仍然会立即执行'delete'。

let postFinally = Posts(timeStamp: timeStamp as! Double?)
let cutTime = 1.0 * 60.0 * 60.0 * 1000.0

let postTime = postFinally.timeStamp as Any as! Double

if postTime < postTime + cutTime {
print("delete")
} else {
print("not delete")
}     
// Timestamp derived from the firebase database. Ie, 1633590010833.0       

在这里检查

if postFinally.timeStamp! > postFinally.timeStamp! + cutTime {
print("delete")
}

你已经在postFinally中添加了一些东西。时间戳,postFinally。timeStamp大于postFinally。timeStamp + cutTime ?

postFinally.timeStamp + cutTime > postFinally.timeStamp

所以我认为你的代码将执行else块。

您可以将发布的时间作为字符串,然后您可以轻松地以秒为单位获得时间差。下面是示例

guard let postedDate = timeString.toDate() else { return ""} 
let timeDifferenceSecond = Date().timeIntervalSince(postedDate) 

相关内容

  • 没有找到相关文章

最新更新