2017-01-30 35 views
0

我想在數據傳遞24小時後從我的UITableView中刪除一些數據。我將日期保存爲字符串。我想檢查日期,但因爲它是String,我怎麼能夠將該數據轉換爲Int值,以檢查數據上次輸入後已過去多少小時?有沒有什麼好的代碼發生?此日期數據存儲在Firebase中。如何在Swift3中從DateFormatter()中獲取Int

let currentDateTime = Date() 
let formatter = DateFormatter() 
formatter.timeStyle = .medium 
formatter.dateStyle = .long 
let date = formatter.string(from: currentDateTime) 
+0

考慮到保存日期爲'(NS)Date'。這使得日期數學更容易。 – vadian

回答

1

您需要:

  1. 您的日期
  2. 24小時添加到該日期
  3. 相比之下,新的日期與 「現在」

我假設你有一些日期已經:

let myDate: Date = ... 

讓我們再增加24小時服務:

let endDate: Date = Calendar.current.date(byAdding: .hour, value: 24, to: myDate, wrappingComponents: true)! 

難道24小時已經因爲我的日期已過?

let now = Date() 
let expired = (endDate < now) 

我不知道爲什麼你甚至會用這個任務的日期格式化程序。

0

試試這個:

let currentDateTime = Date() 
let formatter = DateFormatter() 
formatter.dateFormat = "hh" 
let date = formatter.string(from: currentDateTime) 
print(date)// Time in string 
print(Int(date)!) // Time in Int 
相關問題