Мне нужно получить NSDate-объект за 00:00 (начало дня) с [NSDate date], пусть скажет, что в настоящее время это 11:30 утра (возвращается [NSDate date]), 01/06/2012, теперь мне нужно иметь NSDate в 00:00 по 01/06/2012.
Я не пробовал это, но на мой взгляд:
NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:now];
[components setHour:0];
[components setMinute:0];
[components setSecond:0];
NSDate *morningStart = [calendar dateFromComponents:components];
Итак, я сначала получаю текущую дату (скажем, это 01/06/2012) и строю NSDateComponent для даты, затем устанавливаю час/минуту/секунду в 0, а год/месяц/день не следует изменять ( т.е. 01/06/2012), тогда я создаю NSDate для этой настройки компонента и могу ли я получить дату 00:00:00 01/06/2012?