【发布时间】:2010-03-14 05:12:15
【问题描述】:
需要具有特定最大和最小日期和时间的 UIDatePicker。目前 NSDatePicker.minimumDate 和 .maximumDate 似乎只考虑日期。处理这个问题的正确方法是什么?
【问题讨论】:
标签: iphone datetime uikit uidatepicker
需要具有特定最大和最小日期和时间的 UIDatePicker。目前 NSDatePicker.minimumDate 和 .maximumDate 似乎只考虑日期。处理这个问题的正确方法是什么?
【问题讨论】:
标签: iphone datetime uikit uidatepicker
NSDates 包含日期和时间。来自文档:
NSDate 对象代表一个时间点。
以下示例将当前日期和时间作为最小值,将一小时后的时间作为最大值(测试它只需将其放入任何 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];
您可以在Dev Center 上阅读有关 NSDate 的更多信息。
【讨论】:
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]];
【讨论】: