I think `rangeOfUnit:startDate:interval:forDate:` is better.

``` objc
    NSDate *startOfTheWeek;
    [[NSDate AZ_currentCalendar] rangeOfUnit:NSWeekCalendarUnit
                                 startDate:&startOfTheWeek
                                 interval:NULL
                                 forDate:self];
    return startOfTheWeek;
```

* http://stackoverflow.com/questions/11681815/current-week-start-and-end-date