2016-03-25 22 views
-4

私は週番号と年を渡す関数が必要です。その関数はその週の日付を返します。私が2週目と2016年を過ごす場合のように、関数は1月3日から1月9日に私を返すべきです。 NSCalendar機能を使用して特定の年の週番号からdatを取得する

+0

'NSCalendar'を参照してください、それはそれを行うための正確な機能を持っています。 – Sulthan

+0

@Sulthanあなたはポストコードをお願いします。本当に役に立ちます。 –

+0

ところで、'2016年1月3日 'は、2016年の*最初の週の始まりです。今年の最初の週(WN1)は、1月4日または今年の最初の火曜日を含む週です。 – Sulthan

答えて

1

ただ非常にシンプルなソリューション:

let week = NSDateComponents() 
week.yearForWeekOfYear = 2016 // the year 
week.weekOfYear = 10 // week index 

let calendar = NSCalendar.currentCalendar() 

// start of week or nil if the week does not exist 
let weekStart = calendar.dateFromComponents(week) 

// add 1 week to start (this is essentially the start of the next week) 
let weekEnd = calendar.dateByAddingUnit(.WeekOfYear, value: 1, toDate: weekStart!, options: []) 

print(weekStart) 
print(weekEnd) 
+0

あなたは素晴らしいです。 –

関連する問題