2010-12-14 84 views
2

我在UILabel有一個日期(如'2010年12月14日)。這個日期我想設置爲我的UIDatepicker的最短日期。我該怎麼做,請回復?使用NSDateFormatter設置最短日期到UIDatePicker

感謝 NISHANT

回答

14

轉換您的UILabel文本日期格式,並把該值在下面的例子中更換「日期」:

UIDatepicker *datePicker; 

NSDate *Date=[NSDate date]; 

datePicker.minimumDate=Date; 
+0

@Nishant,這工作,所以如果你有一個標籤上的日期,首先使用dateFormatter將該日期轉換爲日期對象,然後使用minimumDate。 – Ishu 2010-12-14 07:25:31

3

您可以使用NSDateFormatter和使用setDateFormat方法設置日期格式。

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

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

datePicker.minimumDate=date; 
+0

我做到了,但它不工作,我有像「2010年12月14日」的日期,當我把它轉換成日期時,我得到'零'值....... !! – iphonedev23 2010-12-14 08:46:10

+0

使用 [formatter setDateFormat:@「MMM dd,yyyy」];你需要設置你的日期格式。在正確的地方使用逗號和空格。 – 2010-12-14 09:44:49

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]; 

它顯示5年日期.......

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) 
相關問題