うちのいぬ Tech Blog

Tech Blog of Uchinoinu/My dog

Get weekday String from NSDate by Swift

Easy way

    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) // set locale
        print(formatter.shortWeekdaySymbols[weekdayIndex]) // show 日, Sun
        print(formatter.weekdaySymbols[weekdayIndex]) // show 日曜日, Sunday
        return formatter.shortWeekdaySymbols[weekdayIndex]
    }

Customize

    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]
}