Дата начала текущей недели (если недели всегда начинаются в воскресенье) - PullRequest
0 голосов
/ 09 июня 2010

Я не уверен, что это лучший способ сделать это ... но ... мне нужно получить дату / время, так как:

Midnight at the start of today
Midnight at the start of the current week (Sunday)
Midnight at the start of the current month
Midnight at the start of the current year

Я использую NSDateFormatter:

[df setDateFormat:@"yyyy-MM-dd 00:00:00"]; strDate = [df stringFromDate:today]; 
[df setDateFormat:@"yyyy-MM-dd 00:00:00"]; strDate = [df stringFromDate:today];  // Sunday??? 
[df setDateFormat:@"yyyy-MM-01 00:00:00"]; strDate = [df stringFromDate:today]; 
[df setDateFormat:@"yyyy-01-01 00:00:00"]; strDate = [df stringFromDate:today]; 

Кажется, все они работают, КРОМЕ "начала текущей недели (воскресенья)".

Как бы я получил эту дату?(Или есть лучший способ сделать все это?)

Спасибо за помощь всем.

1 Ответ

0 голосов
/ 09 июня 2010

Возможно, это не самый лучший способ, но я получаю первый день текущей недели с этим:

NSCalendar* cal = [NSCalendar autoupdatingCurrentCalendar];
NSDateComponents* comps = [cal components:NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekCalendarUnit fromDate:[NSDate date]];
NSDate* date = [cal dateFromComponents:comps];
...