从Firebase获取日期作为字符串转换为日期并将该日期与当前日期进行比较,以分钟为单位查找差异
问题描述:
我知道这是一个奇怪的特定情况。但是我想从我的firebase数据库中提取一个字符串,其值为18-11-2017 10:41 AM
,我想将其转换回日期,然后将其与当前日期进行比较,以查找自该时间戳以来总共有多少分钟。从Firebase获取日期作为字符串转换为日期并将该日期与当前日期进行比较,以分钟为单位查找差异
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
所以从保存在我的火力点数据库(18-11-2017 10:30 AM
)的日期,我想找到多少分钟从时间戳为当前的时间戳。假设当前时间戳为18-11-2017 11:45 AM
,它应该返回75的值,因为它已经过去了一个小时15分钟。有谁知道这可以在Swift 3中完成吗?
感谢提前:)
答
获取从火力的日期字符串
let dateString = "18-11-2017 10:41 AM"
简单extention到字符串转换为日期与您的日期格式
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)
}
您真了不起。这工作像一个魅力。谢谢 :) –