NSCalendar 根据天数获取日期
NSCalendar 根据天数获取日期
- 可以用于设置 UIDatePicker 可选时间段
获取明日凌晨以及后面天数
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:currentDate]; // 时间取整
NSDate *startDate = [calendar dateFromComponents:comps];
NSDate *maxDate = [calendar dateByAddingUnit:NSCalendarUnitDay value:31 toDate:startDate options:0];
NSDate *minDate = [calendar dateByAddingUnit:NSCalendarUnitDay value:1 toDate:startDate options:0];
获取当前时间后的30天
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:31]; // 设置 31 天后
NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[comps setDay:1]; // 设置 1 天后
NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
设置 UIDatePicker
- (UIDatePicker *)datePicker {
if(!_datePicker) {
_datePicker = [[UIDatePicker alloc]init];
_datePicker.backgroundColor = [UIColor hho_colorWithHex:0x4AC052 alpha:0.12];
_datePicker.tintColor = [UIColor hho_colorWithHex:0x4AC052];
_datePicker.locale = [NSLocale localeWithLocaleIdentifier:@"ja-Latn-hepburn"];
_datePicker.datePickerMode = UIDatePickerModeDateAndTime;
_datePicker.preferredDatePickerStyle = UIDatePickerStyleWheels;
_datePicker.minuteInterval = 30;
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:currentDate];
NSDate *startDate = [calendar dateFromComponents:comps];
NSDate *maxDate = [calendar dateByAddingUnit:NSCalendarUnitDay value:31 toDate:startDate options:0];
NSDate *minDate = [calendar dateByAddingUnit:NSCalendarUnitDay value:1 toDate:startDate options:0];
[_datePicker setMaximumDate:maxDate];
[_datePicker setMinimumDate:minDate];
}
return _datePicker;
}
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!