2017-11-18 51 views
0

我知道這是一個奇怪的特定情況。但是我想從我的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中完成嗎?

感謝提前:)

回答

2

獲取從火力的日期字符串

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) 
} 
+0

您真了不起。這工作像一個魅力。謝謝 :) –

相關問題