从 Swift 3 中的周数获取日期

Swi*_*per 2 string date swift swift3

myYearmyWeek琴弦来自API的,我想将它们转换为date字符串如YYYY-MM-DD我怎么能做到这一点在迅速3?我的字符串在下面。

let myYear = "2017"
let myWeek = "8"
Run Code Online (Sandbox Code Playgroud)

Dáv*_*tor 7

你只需要将字符串转换成IntS,然后生成一个DateComponents从他们的对象,得到了DateDateComponents通过Calendar,最后用DateFormatter得到的日期的预期字符串表示。

请记住,该Date对象将表示该年一周的第一秒,因此 String 表示将对应于该周的第一天。

let yearString = "2017"
let weekOfYearString = "8"

guard let year = Int(yearString), let weekOfYear = Int(weekOfYearString) else {return}
let components = DateComponents(weekOfYear: weekOfYear, yearForWeekOfYear: year)
guard let date = Calendar.current.date(from: components) else {return}

let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd"
let outputDate = df.string(from: date)  //2017-02-19
Run Code Online (Sandbox Code Playgroud)