2017-01-30 4 views
0

Ich möchte einige Daten von meinem UITableView entfernen, wenn die Daten über 24 Stunden weitergegeben werden. Ich habe das Datum als String gespeichert. Ich möchte das Datum überprüfen, aber weil es String ist, wie kann ich diese Daten in den Wert Int umwandeln, um zu überprüfen, wie viele Stunden vergangen sind, seit die Daten zuletzt eingegeben wurden? Gibt es dafür einen guten Code? Diese Datumsdaten werden in Firebase gespeichert.Wie bekomme ich Int von DateFormatter() in Swift3

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

Betrachten Sie das Datum als '(NS) Date' zu ​​speichern. Das macht die Datums-Mathematik viel einfacher. – vadian

Antwort

1

Sie benötigen:

  1. Ihr Datum
  2. 24 Stunden In diesem Datum
  3. Vergleichen Sie das neue Datum mit "jetzt"

Ich gehe davon aus Sie einige haben Datum bereits:

let myDate: Date = ... 

Lassen Sie uns 24 Stunden In:

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

Haben 24 Stunden bereits seit meinem Datum überschritten?

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

Ich bin nicht sicher, warum würden Sie sogar einen Datumsformatierer für diese Aufgabe verwenden.

0

Versuchen Sie folgendes:

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 
Verwandte Themen