うちのいぬ Tech Blog

Tech Blog of Uchinoinu/My dog

SwiftでNSDateから曜日を求める方法

割りと楽なやり方

    class func weekdayFromNSDate(date: NSDate) -> String {

        let cal = NSCalendar.currentCalendar()
        let comp = cal.components(NSCalendarUnit.Weekday, fromDate: date)
        let weekdayIndex = comp.weekday

        let formatter: NSDateFormatter = NSDateFormatter()
        formatter.locale = NSLocale(localeIdentifier: NSLocaleLanguageCode) // ローケルを指定
        print(formatter.shortWeekdaySymbols[weekdayIndex]) // 日, Sun などが表示
        print(formatter.weekdaySymbols[weekdayIndex]) // 日曜日, Sunday などが表示
        return formatter.shortWeekdaySymbols[weekdayIndex]
    }

表示をいじりたいなら

    class func weekdayFromNSDate(date: NSDate) -> String {

        let cal = NSCalendar.currentCalendar()
        let comp = cal.components(NSCalendarUnit.Weekday, fromDate: date)
        let weekdayIndex = comp.weekday

        let weeks = ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜"]
        return weeks[weekdayIndex - 1]
}