2010-03-14 11 views

Respuesta

7

NSDates contienen la fecha y la hora. De los documentos:

Los objetos NSDate representan un único punto en el tiempo.

El siguiente ejemplo tiene la fecha y hora actual como el valor mínimo y el tiempo de una hora a partir de ahora como el valor máximo (para probar simplemente soltarlo en la viewDidLoad de cualquier UIViewController):

// Time right now 
NSDate *minDate = [NSDate new]; 
// One hour from now 
NSDate *maxDate = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60]; 

UIDatePicker *picker = [UIDatePicker new]; 
[picker setDatePickerMode:UIDatePickerModeDateAndTime]; 
[picker setMinimumDate:minDate]; 
[picker setMaximumDate:maxDate]; 
[[self view] addSubview:picker]; 
[super viewDidLoad]; 

Puede leer más sobre NSDate en el Dev Center.

+0

Gracias Paulo. Sí, soy consciente de lo anterior y mis objetos mindate y maxdate NSDate contienen la hora, pero UIDatePicker solo establece los límites por fecha. En otras palabras, si configuro mindate a la fecha de hoy a las 8 a. M. Me impide configurar la fecha a ayer, pero aún puedo elegir una hora anterior ... 6 a. M. Por ejemplo. – CBGrey

+0

Eso es muy extraño. Si cambia minDate a NSDate unas horas antes, no debería poder elegir una hora anterior. Lo que sucede en mi caso cuando elijo 6 a.m. es que el selector se anima al tiempo mínimo válido 8 a.m. ¿Tiene un ejemplo de código? –

+1

Bueno, me alegra oír que funciona como creo que debería. No estoy contento de pensar que tengo un problema en mi código :) Permítanme revisarlo y ver si puedo extraer una muestra relevante. Gracias por tu ayuda continua. – CBGrey

1
NSDateFormatter *FormatDate = [[[NSDateFormatter alloc] init] autorelease]; 
[FormatDate setDateFormat:@"MMMM d y"]; 

NSString *date1=[FormatDate stringFromDate:[theDatePicker date]]; 
NSString *today=[FormatDate stringFromDate:[NSDate date]]; 
NSTimeInterval secondsPerDay = 24 * 60 * 60; 
NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:secondsPerDay]; 
NSString *tommorow=[FormatDate stringFromDate:tomorrow]; 
[pickerViewPopup dismissWithClickedButtonIndex:0 animated:YES]; 
if ([date1 isEqualToString:today]||[date1 isEqualToString:tommorow]) { 
    NSDateFormatter *FormatDate = [[[NSDateFormatter alloc] init] autorelease]; 
    [FormatDate setDateFormat:@"MMM dd,yyyy"]; 
    currentdate.text = [FormatDate stringFromDate:[theDatePicker date]]; 
Cuestiones relacionadas