2011-07-15 9 views
0

私はintで週番号を持っており、その週の最初の日付(NSDate値)を取得したいと思います。例については与えられた週の最初の日付(NSDate)

:2011年21週の まず日(日曜日)は、私はこれを達成するために、NSCalendarでNSDateComponentsをしようとしている2011-05-22

です。これを達成する方法を誰かが知っているなら、本当にあなたの助けに感謝します。

+0

は、あなたがやっていることを表示するので、我々はその可能なら* *以下のコードで確認することができます。しかし、NSCalendarとNSDateComponentsを使用することは、そのタスクのための正しい方法です。 – Vladimir

+0

Vladimir、実際に私はこの結果を得ようとしていますので、完全なコードはありません。とにかく私は試していると私はコードで私の質問を編集します。 – Viraj

答えて

4

ような何か試してみてください:

NSDate *now = [NSDate date]; 
NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; 
NSDateComponents *comp = [gregorian components:NSYearCalendarUnit fromDate:now]; 
[comp setWeekday:1]; 
[comp setWeek: 21]; 
NSDate *resultDate = [gregorian dateFromComponents:comp]; 
+0

助けてくれてありがとう - 結果は2011年5月21日18:30:00 +0000 - 21stは土曜日、それは22日でしょうか? - 私はシミュレータで走っています。 – Viraj

+0

@Viraj、それはNSDateがGMTのタイムゾーンに日付を格納しているためです。印刷すると、NSLogは現地の時間帯を考慮に入れて – Vladimir

+0

ということになります。助けてくれてありがとう。 – Viraj

関連する問題