如何在Swift系统中获取工作日数组?

C-V*_*rel 12 swift xcode6 osx-yosemite

如何从系统中获取一周中的数据(NSDate我认为)?

到现在为止,我只能参加当天的活动,但我希望能够在阵容中度过所有工作日.

如果将星期的第一天设置为星期一,我的数组将如下所示:

[ Mon, Tue, Wed... ]
Run Code Online (Sandbox Code Playgroud)

如果星期的第一天是星期日,我的数组看起来像:

[Sun, Mon, Tue... ]
Run Code Online (Sandbox Code Playgroud)

码:

let dateNow = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .CalendarUnitSecond | .CalendarUnitYear , fromDate: dateNow) 

/*This is the way how i take system time */ 

let format = NSDateFormatter()
format.dateFormat = "EEE"
stringDay = format.stringFromDate(dateNow) 
Run Code Online (Sandbox Code Playgroud)

rin*_*aro 32

试试这些属性:

let fmt = NSDateFormatter()
fmt.weekdaySymbols // -> ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
fmt.shortWeekdaySymbols // -> ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
fmt.veryShortWeekdaySymbols // -> ["S", "M", "T", "W", "T", "F", "S"]
fmt.standaloneWeekdaySymbols // -> ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
fmt.shortStandaloneWeekdaySymbols // -> ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
fmt.veryShortStandaloneWeekdaySymbols // -> ["S", "M", "T", "W", "T", "F", "S"]
Run Code Online (Sandbox Code Playgroud)

它似乎总是返回Sun ... Sat数组,无论.firstWeekday属性如何.calendar.因此,您必须手动旋转它.

let firstWeekday = 2 // -> Monday

var symbols = fmt.shortWeekdaySymbols
symbols = Array(symbols[firstWeekday-1..<symbols.count]) + symbols[0..<firstWeekday-1]
// -> ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
Run Code Online (Sandbox Code Playgroud)