我知道这是一个奇怪的具体问题。但我想从我的 firebase 数据库中提取一个值为 18-11-2017 10:41 AM
的字符串,我想将其转换回日期,然后将其与当前日期进行比较以查找自该时间戳以来的总分钟数。
let dateFormatter = DateFormatter()
let date1s = dateFormatter.date(from: break1s) //USED TO CONVERT STRING BACK TO DATE
let elapsed = Date().timeIntervalSince(date1s)
print((Int(elapsed) % 3600) / 60) //CONVERT SECONDS TO MINUTES
因此,从我的 firebase 数据库中存储的日期(18-11-2017 10:30 AM
)开始,我想找出从该时间戳到当前时间戳的分钟数。假设当前时间戳是 18-11-2017 11:45 AM
,它应该返回值 75,因为它已经过了 1 小时 15 分钟。有谁知道如何在 Swift 3 中完成此操作?
提前致谢:)
最佳答案
从 String 中获取 firebase 的日期
let dateString = "18-11-2017 10:41 AM"
使用您的日期格式将字符串转换为日期的简单扩展
extension String{
var date : Date?{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy h:mm a"
return dateFormatter.date(from: self)
}
}
比较两个日期的分钟数
extension Date {
func minutes(from date: Date) -> Int {
return Calendar.current.dateComponents([.minute], from: date, to: self).minute ?? 0
}
}
将你的日期与当前日期进行比较
if let date = dateString.date{
let minutes = Date().minutes(from: date)
}
关于ios - 从 Firebase 获取日期作为字符串转换为日期并将该日期与当前日期进行比较以查找分钟差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47365370/