2017-01-25 2 views
0

Ich habe 3 Steckdosen für Etiketten, 1 Aktion für die Schaltfläche und 1 Steckdose für UIDatePickerView erstellt. lblField zeigt das aktuelle Datum mit dem Format Monat, Datum und Jahr [25. Januar 2017] an. lblField2 zeigt die ausgewählten Daten durch den Benutzer an, nachdem die Funktion 'dueDate' gedrückt wurde. Jetzt muss ich die Unterschiede zwischen dem aktuellen Datum und dem ausgewählten Datum berechnen, d. H. (LblField2 - lblField) in lblField3. Wie kann ich in Swift3 den Differenzwert in Monaten und Tagen anzeigen? Ich brauche ausschließlich für Swift3?Berechnung der Unterschiede von Daten in Swift 3

Antwort

1

Sie können dafür dateComponentsFormatter verwenden.

let formatter = DateComponentsFormatter() 
formatter.allowedUnits = [.month,.day] 
formatter.maximumUnitCount = 2 
formatter.unitsStyle = .full 
lblField3.text = formatter.string(from: Date(), to: datePicker.date) ?? "" 

Wenn Sie Unterschied mit Monat und Tag spezifisch, dass Sie Calendar diese Art und Weise nutzen können.

let components = Calendar.current.dateComponents([.month, .day], from: Date(), to: datePicker.date) 
let dayDifference = components.day! 
let monthDifference = components.month! 
+0

Es gibt nur wenige Monate, aber nicht in Tagen. Ich brauche beide Monate und Tage @Nirav D – Tamannah

+0

@Tamannah Überprüfen Sie die bearbeitete Antwort einmal und setzen 'maximumUnitCount' auf' 2' –

+0

@NiravD Nicht alle optionalen müssen * nil Coalescing * überprüft werden. Im Fall von Datumskomponenten haben Sie 100% sicher die Komponenten 'month' und' day' angegeben, so dass die entsprechenden Eigenschaften nicht - niemals - "nil" sein können. Apple hat die Eigenschaften in Optionale geändert, um den praktischen Initialisierer 'DateComponents (Stunde: 12, Minute: 30) 'verwenden zu können, der alle nicht verwendeten Komponenten auslässt. – vadian

0
 var date = NSDate().dateStringWithFormat(format: "dd.MM.YYY") 
    print(date) 

15.02.2017 dies wird das Datum formater einfach und neue Single Linie sytax

Verwandte Themen