2010-12-14 4 views

ответ

14

Преобразование текста UILabel в формат даты, используя NSDateFormatter и поставить это значение вместо «Date» в следующем примере:

UIDatepicker *datePicker; 

NSDate *Date=[NSDate date]; 

datePicker.minimumDate=Date; 
+0

@Nishant, это работает, поэтому, если у вас есть дата на ярлыке, сначала конвертируйте эту дату в объект даты с помощью dateFormatter, а затем используйте minimumDate. – Ishu

3

Вы можете использовать NSDateFormatter и использовать setDateFormat метод для установки Формат даты.

[formatter setDateFormat:@"MMM dd,yyyy"]; 

NSDate *date = [formatter dateFromString:lblDate.text]; 

datePicker.minimumDate=date; 
+0

Я сделал это, но он не работает. У меня есть дата «14 декабря 2010 года», и когда я конвертирую ее в дату, я получил значение «ноль» ....... !! – iphonedev23

+0

использование [форматирование setDateFormat: @ "MMM dd, yyyy"]; Вы должны указать свой формат в качестве даты. используйте запятую и место в правильном месте. –

0
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; 
     NSDate *currentDate = [NSDate date]; 
     NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease]; 
     [comps setYear:0]; 
     NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0]; 
     [comps setYear:-5]; 
     NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0]; 

     [datePicker setMaximumDate:maxDate]; 
     [datePicker setMinimumDate:minDate]; 

это с указанием даты пять лет .......

0

См минимальное время от текущей даты до одного месяца:

NSDate* currentTime = [NSDate date]; 

[datePicker setMinimumDate:[currentTime dateByAddingTimeInterval:43200]];//min time +12:00 for the current date 

[datePicker setMaximumDate:[currentTime dateByAddingTimeInterval:2592000]]; // max day (+ 30) 
Смежные вопросы