我正在尝试为日期选择器实现一些伪代码。但是我不确定如何添加分钟值来调整NSDate对象。
这是伪代码:
//minTime is an NSDate object
minTime = currentTime + 30mins - (currentTime % 15)
(currentTime % 15)
表示用户只能在15分钟的时间间隔内选择,并且必须距离当前的15分钟间隔15分钟。例如,如果是10:50,则用户应该只能从UIDatePicker中选择11:15。如果是10:20,则用户应该只能选择10:45。
我知道如何使用[NSDate date]
获取当前时间,但我不知道如何为其添加分数并进行调整。
答案 0 :(得分:1)
您可以使用以下方法向NSDate添加一些分钟:
NSDate *nowDate = [NSDate date];
NSDate *nowDateAnd2moreMinutes = [nowDate dateByAddingTimeInterval:2*60]; //This add 2 minutes (2 * 60sec)
编辑我写了一个添加分钟的小功能:
+(NSDate) addMinutes:(int) minutes toDate:(NSDate) date{
return [date dateByAddingTimeInterval:minutes*60];
}
额外奖励:为日期添加分钟和秒数的功能
+(NSDate) addMinutes:(int) minutes andSeconds:(int) sec toDate:(NSDate) date{
return [date dateByAddingTimeInterval:(minutes*60)+sec];
}
答案 1 :(得分:1)
在处理日期和时间时,处理时间间隔不是一种好习惯。最佳解决方案是使用NSDateComponents
添加时间段。
NSDateComponents* dc = [NSDateComponents new];
dc.minutes = 15;
NSDate* newDate = [[NSCalendar currentCalendar] dateByAddingComponents:dc toDate:oldDate options:0];