Ich habe eine Methode erstellt, die eine Zeichenfolge in der Form "JJJJ-MM-TT" aufnehmen und ein Int ausspucken soll, das die Datumsposition in Bezug auf die Woche darstellt, in der sie sich befindet (unabhängig davon, ob sie sich zwischen Monaten überschneidet). Also zB Sonntag = 1 Montag = 2 und so weiter.
Hier ist mein 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
}
Ich weiß, dass NSCalendarUnit.WeekdayOrdinalCalendar
das falsch ist, aber ich habe versucht, die logischsten Kombinationen zu finden. Und habe auch mit myComponents.weekdayOrdinal
zB gebrauchtem mycomponents.day
oder herumgespielt .weekday
.
Hier sind meine Optionen für die Verwendung:
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 }
Es ist mir nicht klar, da es keine DayOfWeekUnit-Option (oder ähnliches) gibt.