Ho creato un metodo che dovrebbe contenere una stringa nel formato "AAAA-MM-GG" e sputare un int che rappresenta la posizione delle date in relazione alla settimana in cui si trova (indipendentemente dal fatto che si sovrapponga tra i mesi). Quindi ad esempio domenica = 1 lunedì = 2 e così via.
Ecco il mio codice:
func getDayOfWeek(today:String)->Int{
var formatter:NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "YYYY-MM-DD"
var todayDate:NSDate = formatter.dateFromString(today)!
var myCalendar:NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)
var myComponents = myCalendar.components(NSCalendarUnit.WeekdayOrdinalCalendarUnit, fromDate: todayDate)
var weekDay = myComponents.weekdayOrdinal
return weekDay
}
So che NSCalendarUnit.WeekdayOrdinalCalendar
è sbagliato, ma ho provato la maggior parte delle combinazioni logiche. E ho anche scherzato con, myComponents.weekdayOrdinal
ad esempio, usato mycomponents.day
o .weekday
.
Ecco le mie opzioni su cosa usare:
static var EraCalendarUnit: NSCalendarUnit { get }
static var YearCalendarUnit: NSCalendarUnit { get }
static var MonthCalendarUnit: NSCalendarUnit { get }
static var DayCalendarUnit: NSCalendarUnit { get }
static var HourCalendarUnit: NSCalendarUnit { get }
static var MinuteCalendarUnit: NSCalendarUnit { get }
static var SecondCalendarUnit: NSCalendarUnit { get }
static var WeekCalendarUnit: NSCalendarUnit { get }
static var WeekdayCalendarUnit: NSCalendarUnit { get }
static var WeekdayOrdinalCalendarUnit: NSCalendarUnit { get }
static var QuarterCalendarUnit: NSCalendarUnit { get }
static var WeekOfMonthCalendarUnit: NSCalendarUnit { get }
static var WeekOfYearCalendarUnit: NSCalendarUnit { get }
static var YearForWeekOfYearCalendarUnit: NSCalendarUnit { get }
static var CalendarCalendarUnit: NSCalendarUnit { get }
static var TimeZoneCalendarUnit: NSCalendarUnit { get }
Non mi è chiaro poiché non esiste un'opzione DayOfWeekUnit (o qualcosa di simile).