Вот, пожалуйста, это работает и возвращает дни через целые числа: 7 = Сб, 1 = Солнце, 2 = Пн ...
ЦЕЛЬ C
NSDate* curDate = [NSDate date];
int dayInt = [[[NSCalendar currentCalendar] components: NSWeekdayCalendarUnit fromDate: curDate] weekday];
SWIFT 4.2
Создайте дату, которую вы хотите проверить, какой день недели это
let dateComponents = DateComponents(
year: 2019,
month: 2 /*FEB*/,
day: 23 /*23rd day of that month */
)
получитьтекущий календарь.
let cal = Calendar.current
теперь используйте календарь, чтобы проверить, является ли дата создания действительной датой
guard let date = cal.date(from: dateComponents ) else {
// The date you build up wasn't a valid day on the calendar
return
}
//Now that your date is validated, get the day of the week
let weekdayIndex = cal.component(.weekday, from: date)
YouВы заметите, что «weekdayIndex» является целым числом.Если вы хотите сделать его строкой, вы можете сделать что-то вроде этого:
if let weekdayName = DateFormatter().weekdaySymbols?[ weekdayIndex - 1] {
print("The weekday for your date is :: \(weekdayName)")
}
Вместо создания своей собственной даты, вам, конечно, разрешено использовать let date = Date()
вместополучить текущий день недели