我需要在七天之后才能展示。如何使用UIDatePicker实现此目的以及如何为UIDatePicker设置最小和最大日期。提前谢谢。
答案 0 :(得分:9)
[datePicker setMinimumDate:[NSDate date]];
[datePicker setMaximumDate:[NSDate dateWithTimeIntervalSinceNow:60*60*24*7]];
他只想要七天,包括当前日期。
答案 1 :(得分:3)
小心谨慎,不要过于简单地添加时间:简单地添加秒可能会遇到针对夏令时转换的边缘情况(例如)。使用NSCalendar来帮助管理时间计算总是一个好主意。
NSDate *today = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
calendar.timeZone = [NSTimeZone localTimeZone];
NSDate *endDate = [calendar dateByAddingUnit:NSCalendarUnitDay value:7 toDate:today options:0];
在7天期间发生夏令时的情况下,上述代码中的结果endDate将与简单地添加秒相差一小时。那一小时可能会突破一天的变化,导致(罕见的)边缘情况失败。
答案 2 :(得分:0)
在datePicker中设置最小和最大日期:
[datePicker setMinimumDate:[NSDate date];
[datePicker setMaximumDate:[[NSDate date] dateByAddingTimeInterval:60*60*24*7]];