我有一个日期选择器。从中选择一个时间后,我想得到下一个30分钟和1个小时的日期和时间。
我将如何编写一个方法来获取日期和时间,然后在该日期时间的30分钟和1小时内返回两个NSDate。
示例:我从日期选择器下午1:30选择了时间,然后我想在下一个30分钟的时间和1小时的时间内获取时间设置。
任何人都可以帮忙吗?
答案 0 :(得分:2)
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [NSDateComponents new];
components.minute = 30;
components.hour = 1;
NSDate *date = [calendar dateByAddingComponents:components toDate:< your date > options:0];
答案 1 :(得分:1)
您可以使用NSDate的dateByAddingTimeInterval方法。
示例:
NSDate *NextDateOneHour = [oldDate dateByAddingTimeInterval:3600]; //3600 second equivalent to 60 mins
NSDate *NextDateHalfAnHour = [oldDate dateByAddingTimeInterval:1800]; //1800 second equivalent to 30 mins
答案 2 :(得分:0)
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setHour:1];
NSDate *afterHour = [gregorian dateByAddingComponents:comps toDate:[NSDate date] options:0];
[comps setMinute:30];
NSDate *afterHalfHour = [gregorian dateByAddingComponents:comps toDate:[NSDate date] options:0];