如何使用UIDatePicker View设置一天的时间范围

时间:2011-09-27 05:45:07

标签: iphone

我正在使用UIDatePickerView,就像我们可以使用“maximumDate”和“minimumDate”设置日期范围一样,有没有办法在一天中设置时间范围,比如从早上9点到下午6点?

2 个答案:

答案 0 :(得分:0)

不是真的。 minimumDatemaximumDate可以包含一天中的某个时间(NSDate更像是时间戳而不是日历日期),但只有当它们在同一天时才有效,否则在日期范围内可以进行所有(时钟)时间。

答案 1 :(得分:0)

实际上你也应该用这两个来设定时间。 NSDate对象具有日期和时间组件。你应该这样做:

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];

//set the date using setDate: setMonth: setYear:
[dateComponents setHour:9];    //setHour:18 for maximumDate

NSDate *targetDate = [gregorian dateFromComponents::dateComponents];
[dateComponents release];
[gregorian release];
datepick.minimumDate = targetDate;

如果没有帮助,请看看这些Q:

UI Datepicker range. iPhone

How to set time on NSDate?