Tôi đã tạo một phương thức được cho là lấy một chuỗi ở dạng "YYYY-MM-DD" và lấy ra một số int đại diện cho vị trí ngày tháng liên quan đến tuần mà nó đang ở (bất kể nó có trùng lặp giữa các tháng hay không). Vì vậy, ví dụ: chủ nhật = 1 thứ hai = 2, v.v.
Đây là mã của tôi:
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
}
Tôi biết điều đó NSCalendarUnit.WeekdayOrdinalCalendar
là sai nhưng tôi đã thử tôi nghĩ rằng hầu hết các kết hợp hợp lý. Và cũng đã nhầm lẫn với myComponents.weekdayOrdinal
ví dụ: used mycomponents.day
or .weekday
.
Dưới đây là các tùy chọn của tôi trong việc sử dụng:
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 }
Tôi không rõ vì không có tùy chọn DayOfWeekUnit (hoặc thứ gì đó tương tự).