Search code examples
xcodedateswift3

Get Weekday from Date - Swift 3


I have looked around a bit, but didnt find a quick answer for this in swift 3. I get todays weekday like this:

let weekday = Calendar.current.component(.weekday, from: Date())

But instead, i would like to get the weekday of a given date. How is this done? Thanx


Solution

  • Presumably you have a Date already?

    let weekday = Calendar.current.component(.weekday, from: myDate)
    

    Maybe you want the name of the weekday?

    let f = DateFormatter()
    
    f.weekdaySymbols[Calendar.current.component(.weekday, from: Date()) - 1]
    

    The -1 is added at the end because Calendar.current.component(.weekday, from: Date()) returns values from 1-7 but weekdaySymbols expects array indices.

    Investigate the NSCalendar/DateComponents api or edit your question to be more specific if you need help with the DateComponents api.