を使用すると、.Weekday
ユニットを整数(日曜日から土曜日はグレゴリオ暦の場合は1 ... 7
)にすることができます。
switch文を使用するのではなく、Int
で表される曜日が分かっている場合は、別の営業時間に[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 */
別の方法は、この容易のセットを保持するための[String: String]
辞書で使用することができるString
extension NSDate {
var weekday : String {
let formatter = NSDateFormatter()
formatter.dateFormat = "EEEE"
return formatter.stringFromDate(self)
}
}
として現在の曜日を返すNSDate()
に計算プロパティ拡張を作成することです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