您可以利用NSCalendar
將.Weekday
單位作爲整數(週日至週六爲1 ... 7
作爲公曆)。
如果您知道星期幾爲Int
,而不是使用switch語句,則可以在不同的開放時間使用[Int: String]
字典。
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 */
另一種方法是創建一個計算屬性擴展NSDate()
返回當前工作日作爲String
extension NSDate {
var weekday : String {
let formatter = NSDateFormatter()
formatter.dateFormat = "EEEE"
return formatter.stringFromDate(self)
}
}
這可以用[String: String]
字典被容易地用於保持所述一組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 */
@Sulthan,謝謝你是正確的日子是在這個月的一天... – sergio