2016-11-24 3 views
4

Я хочу получить номер текущей недели и отобразить его в своем приложении. Есть много примеров в Интернете, используя старый WeekOfYearCalendarUnit, который решил бы мою проблему, но в истинной моде Apple это было устарело, и альтернативы не предлагалось. Iv'e удалось вытащить эту функцию из-за того, что по крайней мере дисплей показывает недели года. Но не нынешний.Как получить текущий номер недели в Swift 3?

func weekYear(){ 

    let weekRange = NSCalendar.current.range(of: .weekOfYear, in: .yearForWeekOfYear, for: Date()) 

    print("\(weekRange?.count)") 

} 

Мой вопрос: как получить текущий номер недели с быстрым 3 в xcode 8.1?

+0

В основном 'yearForWeekOfYear' и' weekOfYear' не устарели, они только что были переименованы из 'YearForWeekOfYearCalendarUnit' и' WeekOfYearCalendarUnit' и превратились в перечисление. – vadian

+0

'let numOFWeeks = Calendar.current.component (.weekOfYear, from: Date())' –

+0

Возможный дубликат [Получить номер недели в SDK для iOS] (http://stackoverflow.com/questions/17587697/get-the -week-number-in-ios-sdk) –

ответ

11

Попробуйте следующий фрагмент кода. Это написано в Свифт 3.

let calendar = Calendar.current 
let weekOfYear = calendar.component(.weekOfYear, from: Date.init(timeIntervalSinceNow: 0)) 
print(weekOfYear) 

Это напечатает неделю года.

+5

Спасибо! ps: как насчет 'Date()', а не 'Date.init (timeIntervalSinceNow: 0)'? – NSTJ

+0

@NSTJ это то же самое ... Вы также можете использовать 'Date()' –

0

Я думаю, что это то, что вы ищете

NSCalendar.current.component(.weekOfYear, from: Date()) 
2

Попробуйте

let calendar = NSCalendar.current 
let component = calendar.component(.weekOfYear, from: Date()) 
Смежные вопросы