我有一个日期选择器。从这里选择一段时间后,我想获得下一个30分钟和1小时的日期和时间。获取未来的时间作为NSDate
我该如何去编写一个方法来获取日期和时间,并在该日期时间之后的30分钟和1小时内返回两个NSDate。
例如:我从选取器中选择了下午1点30分的时间,然后我想在设置时间的情况下取下30分钟和1小时。
任何人都可以帮忙吗?
我有一个日期选择器。从这里选择一段时间后,我想获得下一个30分钟和1小时的日期和时间。获取未来的时间作为NSDate
我该如何去编写一个方法来获取日期和时间,并在该日期时间之后的30分钟和1小时内返回两个NSDate。
例如:我从选取器中选择了下午1点30分的时间,然后我想在设置时间的情况下取下30分钟和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
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];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [NSDateComponents new];
components.minute = 30;
components.hour = 1;
NSDate *date = [calendar dateByAddingComponents:components toDate:< your date > options:0];
使用'NSDateComponents'。 – 2013-03-23 07:00:37
'NSDateComponents'对于添加像日或月的间隔很有用,因为这些间隔没有固定的长度。为了增加30分钟,'dateByAddingTimeInterval'应该足够了。 – 2013-03-23 08:16:44