Wie bekomme ich den Wochentag als String?
ios
objective-c
cocoa-touch
nsdate
Moshe
quelle
quelle
[dateFormatter weekdaySymbols]
(und ähnliche) verwenden, die ein NSArray von NSStrings ab Sonntag bei Index 0 zurückgeben.[gregorian setFirstWeekday:2];
und für Montag 01/06/2015 erhalte ich 2 ([components weekday]
). Warum? - Ich finde hierVerwenden Sie einfach diese drei Zeilen:
quelle
Viele der Antworten hier sind veraltet. Dies funktioniert ab iOS 8.4 und gibt Ihnen den Wochentag als Zeichenfolge und als Zahl an.
quelle
weekday
Komponente vonNSCalendar
um eine handeltNSInteger
, müssen Sie bei Bedarf[comps weekday]
eineint
umwandeln, da sonst eine Warnung angezeigt wird.So machen Sie es in Swift 3 und erhalten einen lokalisierten Tagesnamen…
quelle
quelle
Ich brauchte einen einfachen (gregorianischen) Wochentagsindex, wobei 0 = Sonntag und 6 = Samstag, um in Mustervergleichsalgorithmen verwendet zu werden. Von dort aus ist es einfach, den Tagesnamen mithilfe des Index aus einem Array nachzuschlagen. Folgendes habe ich mir ausgedacht, für das keine Datumsformatierer oder die Manipulation von NSCalendar oder Datumskomponenten erforderlich sind:
quelle
Hier ist der aktualisierte Code für Swift 3
Code:
So drucken Sie den Namen des Ereignisses als Zeichenfolge:
quelle
Ich denke, dieses Thema ist wirklich nützlich, deshalb poste ich Code, der mit Swift 2.1 kompatibel ist.
Überall können Sie anrufen:
Swift 3.0
Wie von @ delta2flat vorgeschlagen, aktualisiere ich die Antwort, damit der Benutzer ein benutzerdefiniertes Format angeben kann.
quelle
Die Antwort von Vladimir hat für mich gut funktioniert, aber ich dachte, ich würde den Unicode-Link für die Zeichenfolgen im Datumsformat veröffentlichen.
http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns
Dieser Link ist für iOS 6. Die anderen Versionen von iOS haben andere Standards, die in der X-Code-Dokumentation zu finden sind.
quelle
So funktioniert es in Swift:
Ordnen Sie dann die Wochentage den resultierenden Zahlen zu.
quelle
Ich hatte ein ziemlich seltsames Problem damit, einen Wochentag zu bekommen. Nur die Einstellung des ersten Wochentags war nicht genug. Es war auch notwendig, die Zeitzone festzulegen. Meine Arbeitslösung war:
quelle
Swift 2: Holen Sie sich den Wochentag in einer Zeile. ( basierend auf neoscribe Antwort )
quelle
Es gibt drei Symbole, mit denen wir den Wochentag formatieren können:
Die folgenden zwei Dokumente können Ihnen helfen.
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html
http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns
Demo:
Sie können Ihr Muster auf dieser Website testen:
http://nsdateformatter.com/
quelle