Sie können NSCalendar
verwenden, um die Einheit .Weekday
als Ganzzahl zu erhalten (Sonntag bis Samstag als 1 ... 7
für den Gregorianischen Kalender).
Wenn Sie den Wochentag als Int
dargestellt haben, können Sie anstelle einer switch-Anweisung ein [Int: String]
Wörterbuch für die verschiedenen Öffnungszeiten verwenden. leicht mit einem [String: String]
Wörterbuch verwendet werden Diese
extension NSDate {
var weekday : String {
let formatter = NSDateFormatter()
formatter.dateFormat = "EEEE"
return formatter.stringFromDate(self)
}
}
String
kehrt zum Halten des Satzes von
let calendar = NSCalendar.currentCalendar()
let today = calendar.component(.Weekday, fromDate: NSDate())
// Gregorian calendar: sunday = 0, monday = 1, ...
let openingHours: [Int: String] = [1: "Sunday: closed", 2: "Monday: 8:00-17:00", 3: "Tuesday: 8:00-17:00"] // ...
print("Opening hours:\n\(openingHours[today] ?? "")")
/* Opening hours:
Monday: 8:00-17:00 */
Eine weitere Alternative ist eine berechnete Eigenschaft Erweiterung NSDate()
zu erstellen, die den aktuellen Wochentag als können weekday : opening hours
:
/* example usage */
let openingHours: [String: String] =
["Sunday": "closed",
"Monday": "8:00-17:00",
"Tuesday": "8:00-17:00"] // ...
let today = NSDate().weekday
print("Opening hours:\n\(today): \(openingHours[today] ?? "")")
/* Opening hours:
Monday: 8:00-17:00 */
@Sultan, danke du bist richtig - Tag ist für den Tag im Monat ... – sergio