Saya membuat metode yang seharusnya mengambil string dalam bentuk "YYYY-MM-DD" dan mengeluarkan int yang mewakili posisi tanggal dalam kaitannya dengan minggu itu (terlepas apakah itu tumpang tindih antara bulan). Jadi misal hari minggu = 1 senin = 2 dan seterusnya.
Ini kode saya:
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
}
Saya tahu itu NSCalendarUnit.WeekdayOrdinalCalendarsalah tetapi saya telah mencoba menurut saya kombinasi yang paling logis. Dan juga telah dipusingkan dengan myComponents.weekdayOrdinalmisal bekas mycomponents.dayatau .weekday.
Berikut adalah opsi saya tentang apa yang harus digunakan:
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 }
Tidak jelas bagi saya karena tidak ada opsi DayOfWeekUnit (atau yang serupa).