2012-02-03 17 views

答えて

4
NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; 
    NSDateComponents *comps = [gregorian components:NSWeekdayCalendarUnit fromDate:[NSDate date]]; 
    int weekday = [comps weekday]; 
    NSLog(@"the wee %d",weekday); 
    NSDate *lastSunday = [[NSDate date] addTimeInterval:-3600*24*(weekday-1)]; 
    NSLog(@"nsdar %@",newDate); 

これは、NSDate形式の最後の日曜日を示しています。これが役に立ちます。

+0

ご協力いただきありがとうございます。 –

+4

N.B. 24時間の倍数を追加しても、夏時間の切り替えを行った場合、別の日に同じ**時間**を与えるとは限りません。あなたは日付(すなわち年月日)だけを気にしているなら、これはいいですが、時間を気にするなら、 'NSCalendar'の' components:fromDate: 'と' dateFromComponents: 'を使って年、月、日のコンポーネントを追加し、その日に(平日-1)を追加します。 – yuji

-1

現在の日付から過去7日間を取得します。それを繰り返し、日曜日の日付を見つけます。最適化されたソリューションではありません。しかしそれは動作します。

+0

何を繰り返しますか?平日の値ですか? –

+0

過去7日間。 @ankit答えははるかに良いです。 – Vignesh

関連する問題