我在UILabel有一個日期(如'2010年12月14日)。這個日期我想設置爲我的UIDatepicker的最短日期。我該怎麼做,請回復?使用NSDateFormatter
在設置最短日期到UIDatePicker
感謝 NISHANT
我在UILabel有一個日期(如'2010年12月14日)。這個日期我想設置爲我的UIDatepicker的最短日期。我該怎麼做,請回復?使用NSDateFormatter
在設置最短日期到UIDatePicker
感謝 NISHANT
轉換您的UILabel文本日期格式,並把該值在下面的例子中更換「日期」:
UIDatepicker *datePicker;
NSDate *Date=[NSDate date];
datePicker.minimumDate=Date;
您可以使用NSDateFormatter
和使用setDateFormat
方法設置日期格式。
[formatter setDateFormat:@"MMM dd,yyyy"];
NSDate *date = [formatter dateFromString:lblDate.text];
datePicker.minimumDate=date;
我做到了,但它不工作,我有像「2010年12月14日」的日期,當我把它轉換成日期時,我得到'零'值....... !! – iphonedev23 2010-12-14 08:46:10
使用 [formatter setDateFormat:@「MMM dd,yyyy」];你需要設置你的日期格式。在正確的地方使用逗號和空格。 – 2010-12-14 09:44:49
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年日期.......
見的最短時間從當前日期到一個月:
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)
@Nishant,這工作,所以如果你有一個標籤上的日期,首先使用dateFormatter將該日期轉換爲日期對象,然後使用minimumDate。 – Ishu 2010-12-14 07:25:31