时间:2021-04-13 09:13:22 | 栏目:iOS代码 | 点击:次
前言
记得之前看过一部有关机器人动画片,具体名字叫什么忘记了。但是其中有句台词我记得还是很清楚的
明年的今日就是你的忌日。
联系到iOS,如果在项目中遇到了计算日期的,并且是要获取当前时间(指定日期)n天后的日期,这可该怎么实现呢?
比如我们要获取当前日期7天后的日期,要怎么实现呢
获取当前日期
NSDate *currentDate = [NSDate date];
前一天或后一天时间
NSDate *lastDay = [NSDate dateWithTimeInterval:-24*60*60 sinceDate:date];//前一天 NSDate *nextDay = [NSDate dateWithTimeInterval:24*60*60 sinceDate:date];//后一天 NSDictionary * timeDic = @{@"beginTime":[Utility timeStringFromFormat:@"yyyy-MM-dd" withDate:lastDay],@"endTime":[Utility timeStringFromFormat:@"yyyy-MM-dd" withDate:nextDay]};
获取7天后的日期
int days = 7; // n天后的天数 NSDate *appointDate; // 指定日期声明 NSTimeInterval oneDay = 24 * 60 * 60; // 一天一共有多少秒 appointDate = [currentDate initWithTimeIntervalSinceNow: appointDate * days];
这样就获取到了当前日期7天后的日期。
同理,也可以获取到当前日期前7天的日期,只需要将最后一句代码加个-即可。
appointDate = [currentDate initWithTimeIntervalSinceNow: -(appointDate * days)];
就是如此的简单。
再同理,我们也可以获取到指定日期n天后的日期,只需要将上述代码中的当前日期替换就OK了。
总结