J'ai créé une méthode qui est censée prendre une chaîne sous la forme "AAAA-MM-JJ" et cracher un int qui représente la position des dates par rapport à la semaine dans laquelle elle se trouve (peu importe si elle se chevauche entre les mois). Donc par exemple dimanche = 1 lundi = 2 et ainsi de suite.
Voici mon code:
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
}
Je sais que NSCalendarUnit.WeekdayOrdinalCalendar
c'est faux mais j'ai essayé, je pense, les combinaisons les plus logiques. Et ont aussi déconné avec myComponents.weekdayOrdinal
par exemple utilisé mycomponents.day
ou .weekday
.
Voici mes options d'utilisation:
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 }
Ce n'est pas clair pour moi car il n'y a pas d'option DayOfWeekUnit (ou quelque chose de similaire).