Мне нужно получить объект NSDate за 00:00 (начало дня) из [NSDate date], допустим, если в настоящее время он находится 11:30 (возвращается [NSDate date]), 01/06/2012, теперь мне нужно иметь NSDate в 00:00 по 01/06/2012.Как получить NSDate за 00:00 в день [NSDate date]?
Я не пробовал это, но то, что в моей голове есть:
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?
Проверьте ответ от poozolax. Это намного лучше и на 100% правильно! – iWheelBuy