如何获得Swift 3中的当前周数?

Dou*_*ace 14 swift3

我想获取当前的周数并将其显示在我的应用中.网上有很多使用旧的WeekOfYearCalendarUnit的例子,它可以解决我的问题,但在真正的Apple时尚中,它已被弃用,并且没有提供替代方案.我设法将这个功能从今年几周的至少显示中删除.但不是现在的那个.

func weekYear(){

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

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

}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在xcode 8.1中使用swift 3获取当前周数?

hai*_*zal 26

请尝试以下代码段.它是用Swift 3编写的.

let calendar = Calendar.current
let weekOfYear = calendar.component(.weekOfYear, from: Date.init(timeIntervalSinceNow: 0))
print(weekOfYear)
Run Code Online (Sandbox Code Playgroud)

这将打印一年中的一周.

  • 谢谢!ps:怎么样`Date()`而不是`Date.init(timeIntervalSinceNow:0)`? (6认同)

gas*_*sho 5

我想这就是你要找的

NSCalendar.current.component(.weekOfYear, from: Date())
Run Code Online (Sandbox Code Playgroud)


Mar*_*anu 5

尝试这个

let calendar = NSCalendar.current
let component = calendar.component(.weekOfYear, from: Date())
Run Code Online (Sandbox Code Playgroud)