Могут ли в UIDatePicker минимальная и максимальная дата включать время? - PullRequest
5 голосов
/ 14 марта 2010

Требуется UIDatePicker с конкретными максимальными и минимальными датами и временем . В настоящее время NSDatePicker.minimumDate и .maximumDate, по-видимому, учитывают только дату. Какой правильный способ справиться с этим?

Ответы [ 2 ]

7 голосов
/ 15 марта 2010

NSDates содержит дату и время. Из документов:

Объекты NSDate представляют один момент времени.

В приведенном ниже примере в качестве минимального значения указана текущая дата и время, а в качестве максимального значения - время в часе (для проверки просто поместите его в viewDidLoad любого 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];

Подробнее о NSDate можно узнать в Центре разработки .

1 голос
/ 18 июня 2012
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]];
...