2017-05-16 2 views
0

Ich verwende einen Paketaufruf DateToolsSwift. Nun, wenn ich einen Tag zu einem Date-Objekt hinzufügen möchten, würde ich wie tun dieseWie Tag zu Date mit DateToolsSwift hinzufügen?

let date = Date().add(TimeChunk(seconds: 0, minutes: 0, hours: 0, days: 3, weeks: 0, months: 0, years: 0)) 

Dieser Code ist zu lang und es does 't fühlen. Meine Frage ist also, wie kann ich das in DateToolsSwift machen? Oder mache ich es falsch?

+4

Was mit der integrierten API falsch? 'let date = Calendar.current.date (durch Hinzufügen: .day, value: 3, to: Date())' – vadian

+0

@vadian Nichts ist falsch, aber es ist einfach einfacher, DateTools zu verwenden. – Norak

Antwort

2

Die DateToolsSwift Paket definiert Erweiterungsmethoden in Integer+DateTools.swift die die einfache Erstellung von TimeChunk s erlauben, z.B. 3.days oder 2.weeks. Daher können Sie

tun
let date = Date().add(3.days) 

oder, da DateToolsSwift definiert auch einen benutzerdefinierten + Operator,

let date = Date() + 3.days 
+0

Vielen Dank Herr. – Norak

3

* Ohne Verwendung von DateToolsSwift. Zum Beispiel, wenn Sie 3 Tage Jan 1, 1970

let aDate = Date(timeIntervalSince1970: 0) 
var dateComponent = DateComponents() 
dateComponent.day = 3 
let next3Days = Calendar.current.date(byAdding: dateComponent, to: aDate) 

Ähnlich hinzufügen, können Sie aDate = Date() einstellen, wenn Sie Tage heute hinzufügen möchten.

EDIT

Alternativ aus @CodeDifferent

let next3Days = Calendar.current.date(byAdding: .day, value: 3, to: aDate)! 
+1

Wenn Sie nur 1 Zeiteinheit hinzufügen, wie in diesem Fall, gibt es eine bequemere Funktion: 'let next3Days = Calendar.current.date (durch Hinzufügen: .day, value: 3, to: aDate)!' –

+0

Dank @CodeDifferent , aktualisiert meine Antwort – Lawliet

Verwandte Themen