Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS中的UIDatePicker中显示从现在起的七天?_Ios_Objective C_Uidatepicker - Fatal编程技术网

如何在iOS中的UIDatePicker中显示从现在起的七天?

如何在iOS中的UIDatePicker中显示从现在起的七天?,ios,objective-c,uidatepicker,Ios,Objective C,Uidatepicker,从现在起我只需要七天的时间。如何使用UIDatePicker实现这一点,以及如何为UIDatePicker设置最小和最大日期。提前谢谢 [datePicker setMinimumDate:[NSDate date]]; [datePicker setMaximumDate:[NSDate dateWithTimeIntervalSinceNow:60*60*24*7]]; 他只想要包括当前日期在内的七天。对于过于简单的时间添加有一点警告:简单地添加秒数可能会遇到夏令时转换的边缘情况(例如)。

从现在起我只需要七天的时间。如何使用UIDatePicker实现这一点,以及如何为UIDatePicker设置最小和最大日期。提前谢谢

[datePicker setMinimumDate:[NSDate date]];
[datePicker setMaximumDate:[NSDate dateWithTimeIntervalSinceNow:60*60*24*7]];

他只想要包括当前日期在内的七天。

对于过于简单的时间添加有一点警告:简单地添加秒数可能会遇到夏令时转换的边缘情况(例如)。使用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天期间,则上述代码中产生的结束日期将与简单的秒数相加不同1小时。这一小时可能会在一天的变化中中断,导致(罕见的)边缘案例失败。

在日期选择器中设置最小和最大日期:

[datePicker setMinimumDate:[NSDate date];
[datePicker setMaximumDate:[[NSDate date] dateByAddingTimeInterval:60*60*24*7]];

例如,您是否在询问如何将最小日期设置为今天,最大日期设置为从今天开始的7天?是@christopherdrum。是否显示7天以及最小、最大日期?谢谢@Saraswati。同样的,最短时间和最长时间也有可能,比如早上10点到晚上6点。可能吗?Saraswathi尝试给出详细的答案。删除你的答案。已经接受的答案在那里。如果你发布的答案应该是唯一的。