2010-12-14 20 views
2

UILabelに日付があります(2010年12月14日など)。この日付私は私のUIDatepickerの最小日付として設定したい。どうすれば返信してください。最小日付をUIDatePickerに設定

おかげ Nishant

答えて

14

NSDateFormatterを使用して、日付形式にして、あなたのUILabelのテキストを変換し、次の例では、「日付」を交換し、その値を置く:

UIDatepicker *datePicker; 

NSDate *Date=[NSDate date]; 

datePicker.minimumDate=Date; 
+0

@Nishant、この作品、したがって、ラベルに日付がある場合は、dateFormatterを使用してその日付をdateオブジェクトに変換し、次にminimumDateを使用します。 – Ishu

3

あなたはNSDateFormatterを使用して設定するためのsetDateFormat方法を使用することができます日付形式。

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

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

datePicker.minimumDate=date; 
+0

私はそれをしましたが、それは働いていません "2010年12月14日"のような日付を持っていて、私はそれを日付に変換します。 – iphonedev23

+0

use [フォーマッタ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]; 

それは、5年間の日付を示す.......

0

は、現在の日付から1ヶ月までの最小時間を参照してください:

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) 
関連する問題