我知道这是一个奇怪的具体。但我想从我的firebase数据库中提取一个值为18-11-2017 10:41 AM
的字符串,我想将其转换回Date,然后将其与当前日期进行比较,以查找自该时间戳以来的总分钟数。
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,因为它是一小时15分钟。有谁知道在Swift 3中如何做到这一点?
提前致谢:)
答案 0 :(得分:2)
从字符串中的firebase获取日期
let dateString = "18-11-2017 10:41 AM"
使用日期格式将String转换为Date的简单扩展
extension String{
var date : Date?{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy h:mm a"
return dateFormatter.date(from: self)
}
}
比较2个日期的分钟数
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)
}