Holen Sie sich Wochentag mit NSDate
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 es sich befindet (unabhängig davon, ob es sich zwischen Monaten überschneidet). Also zum Beispiel 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ß dasNSCalendarUnit.WeekdayOrdinalCalendar
ist falsch, aber ich habe versucht, denke ich, die meisten logischen Kombinationen. Und habe auch rumgespieltmyComponents.weekdayOrdinal
z.B. verwendetmycomponents.day
oder.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.