首页 文章

在Objective C中为UIDatePicker设置自定义日期和时间

提问于
浏览
0

我必须将自定义日期和时间设置为UIDatePicker作为最小日期:当前日期时间,最大日期:直到明天晚上 .

Eg: Today is 2nd March then, Maximum Date should be 3rd March 11:59 PM

我试过了:

-(NSDate *) getTomorrowDate {

    NSDateComponents *dayComponent = [[NSDateComponents alloc] init];
    dayComponent.day = 1;
    dayComponent.hour = 23;
    dayComponent.minute = 59;
    NSCalendar *theCalendar = [NSCalendar currentCalendar];
    NSDate *nextDate = [theCalendar dateByAddingComponents:dayComponent toDate:[NSDate date:[NSDate date] withFormat:@"yyyy-MM-dd hh:mm:ss"] options:0];

    return nextDate;
}

但它3月4日也回来了,请指正!

谢谢 .

1 回答

  • 1

    这是一个增加两天,剥离时间部分并减去一秒的解决方案 .

    - (NSDate *)getTomorrowDate {
      NSCalendar *calendar = [NSCalendar currentCalendar];
      // add two days
      NSDate *dayAfterTomorrow = [calendar dateByAddingUnit:NSCalendarUnitDay value:2 toDate:[NSDate date] options:0];
      // get start of the day
      NSDate *startOfDayAfterTomorrow = [calendar startOfDayForDate:dayAfterTomorrow];
      // subtract one second.
      return [calendar dateByAddingUnit:NSCalendarUnitSecond value:-1 toDate:startOfDayAfterTomorrow options:0];
    }
    

相关问题