我有一个日期选择器。从中选择时间后,我想获得下一个 30 分钟和 1 小时的日期和时间。
我将如何编写一个方法来获取日期和时间,并在该日期时间后的接下来的 30 分钟和 1 小时内以两个 NSDate 的形式返回。
示例:我从日期选择器中选择了下午 1:30 的时间,然后我想获取下一个 30 分钟时间和 1 小时时间并设置时间。
有人可以帮忙吗?
我有一个日期选择器。从中选择时间后,我想获得下一个 30 分钟和 1 小时的日期和时间。
我将如何编写一个方法来获取日期和时间,并在该日期时间后的接下来的 30 分钟和 1 小时内以两个 NSDate 的形式返回。
示例:我从日期选择器中选择了下午 1:30 的时间,然后我想获取下一个 30 分钟时间和 1 小时时间并设置时间。
有人可以帮忙吗?
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [NSDateComponents new];
components.minute = 30;
components.hour = 1;
NSDate *date = [calendar dateByAddingComponents:components toDate:< your date > options:0];
您可以只使用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];