Necesito obtener un objeto NSDate para las 00:00 (comienzo del día) a partir de [NSDate date], digamos si actualmente son las 11:30 a.m. (devuelto el [NSDate date]), el 01/06/2012, ahora necesito tener un NSDate para 00:00 am el 01/06/2012.¿Cómo obtener NSDate para las 00:00 del día de [NSDate date]?
No he probado esto, pero lo que está en mi mente es:
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];
Así que primero consigue la fecha actual (dicen que es 01/06/2012), y construir un NSDateComponent de la fecha , luego establezco hora/minuto/segundo en 0 y el año/mes/día no debe cambiarse (es decir, 01/06/2012) luego creo un NSDate para esta configuración de componente y puedo obtener una fecha de 00:00 : 00 01/06/2012?
Compruebe la respuesta de poozolax. ¡Es mucho mejor y 100% correcto! – iWheelBuy