0

私が言うとupcoming monday、どうすれば の日付を取得できますupcoming mondayか?

のように、今日はThu, 04-04-2013どの日付が来るのかをどうやって知ることができますwednesdayか?

私はあなたを明確にすることができることを願っています.

同様の質問がここで尋ねられましたが、私はこれを理解できません:

Objective-C で次の土曜日の日付を取得しますか?

4

2 に答える 2

6
NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [NSDate date];
NSDateComponents *weekdayComponents = [gregorian components:NSWeekdayCalendarUnit fromDate:date];
NSInteger todayWeekday = [weekdayComponents weekday];

enum Weeks {
    SUNDAY = 1,
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY
};

NSInteger moveDays=WEDNESDAY-todayWeekday;
if (moveDays<=0) {
    moveDays+=7;
}

NSDateComponents *components = [NSDateComponents new];
components.day=moveDays;

NSCalendar *calendar=[[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
NSDate* newDate = [calendar dateByAddingComponents:components toDate:date options:0];

NSLog(@"%@",newDate);
于 2013-04-04T13:17:26.890 に答える