您正在使用 unix timeStamp*1000,它在转换为 Int 时用作时间戳,但因为您将使用它进行时间操作。使用它来存储您的时间戳:-
let timeStamp = NSDate.timeIntervalSinceReferenceDate // Like this only
在你的类范围之外扩展 NSDate
extension NSDate {
func daysFromTheDate(date: NSDate) -> Int {
return NSCalendar.currentCalendar().components(.Day, fromDate: date, toDate: self, options: []).day
}
}
class yourViewController : UIViewController,.. {
...
}
声明:-
let date1 = NSDate() // Declare the variable globally
然后在你的 .observe 事件firebase函数中使用这个:-
var retrieved_timeStamp = ... // timeStamp that you retrieve from firebase
var date = NSDate(timeIntervalSinceReferenceDate: timeInterval(retrieved_timeStamp))
print(date1.daysFromTheDate(from: date as NSDate))
检查条件
if date1.daysFromTheDate(from: date as NSDate) >= 2{
//48 or more hours have passed now, Do the Job. Bingo!..
}
对于进一步的日期操作查找:- Difference between two NSDates