您的位置:首页 > 移动开发 > IOS开发

ios 获取n个月前或者n个月后的日期

2016-12-15 16:37 351 查看
给NSDate添加一个category,在.h文件中创建一个方法:

/**
 获取距离当前时间多久的一个日期

 @param year year=1表示1年后的时间 year=-1为1年前的日期
 @param month
距离现在几个月
 @param days
距离现在几天
 @return
返回一个新的日期
 */
+(NSDate*)getNewDateDistanceNowWithYear:(NSInteger)year withMonth:(NSInteger)month
withDays:(NSInteger)days;

在.m文件中实现方法:

+(NSDate *)getNewDateDistanceNowWithYear:(NSInteger)year
withMonth:(NSInteger)month withDays:(NSInteger)days
{
    
   
NSCalendar *calendar = [[NSCalendar
alloc]
initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
   
NSDateComponents *comps =
nil;
    comps = [calendar
components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay
fromDate:[NSDate
date]];
   
NSDateComponents *adcomps = [[NSDateComponents
alloc]init];
    [adcomps
setYear:year];//year=1表示1年后的时间
year=-1为1年前的日期
    [adcomps
setMonth:month];
    [adcomps
setDay:days];
   
NSDate *newdate = [calendar
dateByAddingComponents:adcomps
toDate:[NSDate
date]
options:0];
    
   
return newdate;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: