5

特定の最大および最小の日付と時刻を持つ UIDatePicker が必要です。現在、NSDatePicker.minimumDate と .maximumDate は日付のみを考慮しているようです。これを処理する適切な方法は何ですか?

4

2 に答える 2

7

NSDates には日付と時刻の両方が含まれます。ドキュメントから:

NSDate オブジェクトは、単一の時点を表します。

以下の例では、現在の日付と時刻を最小値として、1 時間後の時刻を最大値として示しています (テストするには、UIViewController の viewDidLoad にドロップするだけです)。

// 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 の詳細については、デベロッパー センターを参照してください。

于 2010-03-15T08:35:38.577 に答える
1
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]];
于 2012-06-18T14:00:23.577 に答える