【问题标题】:How to set time range in a day using UIDatePickerView如何使用 UIDatePicker 视图设置一天中的时间范围
【发布时间】:2011-09-27 05:45:07
【问题描述】:

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

【问题讨论】:

    标签: iphone


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      实际上你也应该使用这两个来设置时间。 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;
      

      如果没有帮助,请查看以下问题:

      UI Datepicker range. iPhone

      How to set time on NSDate?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-20
        • 1970-01-01
        • 2018-03-20
        • 1970-01-01
        相关资源
        最近更新 更多