Wie füge ich einem NSDate mehrere Wochen hinzu?

7

Ich habe in der Vergangenheit die folgende Funktion verwendet, um ein bestimmtes Zeitintervall mit NSDateComponents zu einem vorhandenen Datum hinzuzufügen.

%Vor%

Ab iOS8 ist der Wochenwert für NSDateComponents veraltet, was bedeutet, dass ich nicht erreichen kann, was ich tun möchte: erzeuge ein neues NSDate , indem ich eine bestimmte Anzahl von Wochen zu einem gegebenen NSDate hinzufüge.

Jede Hilfe wird sehr geschätzt.

    
Rich 13.01.2015, 02:54
quelle

4 Antworten

7

Update: Wie Zaph in seiner Antwort sagte, empfiehlt Apple tatsächlich, weekOfYear oder weekOfMonth anstelle der angegebenen Antwort zu verwenden. Sehen Sie Zaphs Antwort für Details.

Sie werden wahrscheinlich schnell feststellen, dass Sie es überdenken, aber hier können Sie eine bestimmte Anzahl von Wochen zu einem Datum hinzufügen, obwohl der Wochenwert veraltet ist, zB:

%Vor%     
Lyndsey Scott 13.01.2015, 03:23
quelle
16

Verwenden Sie einfach weekOfYear :

Apple Dokumente für NSDateComponents week :

  

Verfallserklärung
  Verwenden Sie stattdessen weekOfYear oder weekOfMonth, je nachdem, was Sie beabsichtigen.

%Vor%

Ausgabe:

%Vor%

Wenn Sie week verwenden, erhalten Sie diese Warnung:

  

'week' ist veraltet: zuerst veraltet in ... - Verwenden Sie weekOfMonth oder weekOfYear, je nachdem, was Sie meinen

Bei Verwendung von weekOfMonth oder weekOfYear als Delta funktionieren sie gleich. Wo sie anders sind, ist, wenn sie verwendet werden, um die Wochennummer zu erhalten, wo Sie die Woche des Monats mit einer Auswahl von 6 oder der Woche des Jahres mit einer Reihe von 53 erhalten.

    
zaph 13.01.2015 04:07
quelle
0

Ich bevorzuge die Verwendung von dateByAddingUnit. Es ist intuitiver

%Vor%     
SureSight 19.02.2018 00:41
quelle
-1

Sie können eine Kategorie für NSDate mit der folgenden Methode hinzufügen:

%Vor%     
Julian J. Tejera 13.01.2015 03:28
quelle