2010-03-14 14 views

Odpowiedz

7

NSDates zawiera zarówno datę, jak i godzinę. Z dokumentacji:

Obiekty NSDate reprezentują pojedynczy punkt w czasie.

Poniższy przykład ma bieżącej daty i czasu jako wartości minimalnej i czas na godzinę odtąd jako wartość maksymalna (w celu zbadania tylko upuść w viewDidLoad dowolnego 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]; 

Możesz przeczytać więcej o NSDate na Dev Center.

+0

Dziękuję Paulo. Tak, jestem świadomy powyższego i moje mindate i maxdate NSDate zawierają czas, ale UIDatePicker ustawia granice tylko według daty. Innymi słowy, jeśli ustawiam myśl na dzisiejszą datę o 8 rano, uniemożliwi mi to ustawienie daty na wczoraj, ale wciąż mogę wybrać wcześniejszy czas ... na przykład 6 rano. – CBGrey

+0

To bardzo dziwne. Jeśli zmienisz minDate na NSDate kilka godzin wcześniej, nie powinieneś być w stanie wybrać wcześniejszego czasu. Co się dzieje w moim przypadku, gdy wybieram 6 rano, oznacza, że ​​próbnik animuje się ponownie do minimalnego ważnego czasu o 8 rano. Czy masz próbkę kodu? –

+1

Cóż, cieszę się, że działa tak, jak powinienem. Jestem niezadowolony z tego, że mam problem w moim kodzie :) Pozwól, że to przejrzę i zobaczę, czy mogę wyciągnąć odpowiedni próbkę. Dziękuję za twoją ciągłą pomoc. – 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]]; 
Powiązane problemy